_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Met en forme et l’imprime sur la console. Ces versions de _cprintf, _cprintf_l, _cwprintf, _cwprintf_l ont des améliorations de sécurité, comme décrit dans fonctionnalités de sécurité de la bibliothèque CRT.

System_CAPS_ICON_important.jpg Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans le Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge avec /ZW.

int _cprintf_s(   
   const char * format [,   
   argument] ...   
);  
int _cprintf_s_l(   
   const char * format,  
   locale_t locale [,   
   argument] ...   
);  
int _cwprintf_s(  
   const wchar * format [,   
   argument] ...  
);  
int _cwprintf_s_l(  
   const wchar * format,  
   locale_t locale [,   
   argument] ...  
);  

Paramètres

format
Chaîne de contrôle de format.

argument
Paramètres facultatifs.

locale
Paramètres régionaux à utiliser.

Le nombre de caractères imprimés.

Ces fonctions de formatage et impression d’une série de caractères et les valeurs directement dans la console, à l’aide de la _putch (fonction) (_putwch pour _cwprintf_s) et les caractères de sortie. Chaque argument (le cas échéant) est converti et sorti selon la spécification de format correspondante dans format. Le format a la même forme et fonction que la format paramètre pour le printf_s (fonction). Contrairement aux fonctions fprintf_s, printf_s et sprintf_s, les fonctions _cprintf_s et _cwprintf_s ne traduisent pas les caractères de saut de ligne en combinaisons retour chariot-saut de ligne à leur sortie.

Une différence importante est que _cwprintf_s affiche les caractères Unicode lorsqu’il est utilisé dans Windows NT. Contrairement aux _cprintf_s, _cwprintf_s utilise les paramètres régionaux actuels de la console

Les versions de ces fonctions avec le suffixe _l sont identiques, sauf qu'elles utilisent les paramètres régionaux passés au lieu des paramètres régionaux actuels.

System_CAPS_ICON_important.jpg Important

Assurez-vous que format n'est pas une chaîne définie par l'utilisateur.

Comme les versions non sécurisées (voir _cprintf, _cprintf_l, _cwprintf, _cwprintf_l), ces fonctions valident leurs paramètres et appellent le Gestionnaire de paramètre non valide, comme décrit dans la Validation des paramètressi format est un pointeur null. Ces fonctions diffèrent des versions non sécurisé dans la chaîne de format est également validée. S’il existe des spécificateurs de mise en forme inconnus ou incorrect, ces fonctions appellent le Gestionnaire de paramètre non valide. Dans tous les cas, si l’exécution est autorisée à se poursuivre, ces fonctions retournent -1 et errno à EINVAL.

Mappages de routines de texte générique

Routine Tchar.h_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_tcprintf_s_cprintf_s_cprintf_s_cwprintf_s
_tcprintf_s_l_cprintf_s_l_cprintf_s_l_cwprintf_s_l
RoutineEn-tête requis
_cprintf_s,_cprintf_s_l<conio.h>
_cwprintf_s, _cwprintf_s_l<conio.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Toutes les versions des bibliothèques Runtime C.

// crt_cprintf_s.c  
// compile with: /c  
// This program displays some variables to the console.  
  
#include <conio.h>  
  
int main( void )  
{  
   int      i = -16, h = 29;  
   unsigned u = 62511;  
   char     c = 'A';  
   char     s[] = "Test";  
  
   /* Note that console output does not translate \n as  
    * standard output does. Use \r\n instead.  
    */  
   _cprintf_s( "%d  %.4x  %u  %c %s\r\n", i, h, u, c, s );  
}  

-16  001d  62511  A Test  

Console et Port e/s
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
printf_s, _printf_s_l, wprintf_s, _wprintf_s_l
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l
vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l
Syntaxe de spécification de format : les fonctions printf et wprintf

Afficher: