_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
Stile und Drucken auf der Konsole.Diese sind Versionen von _cprintf, _cprintf_l, _cwprintf, _cwprintf_l mit Sicherheitserweiterungen, wie in Sicherheitsfeatures im CRT beschrieben.
Wichtig |
---|
Diese API kann nicht in den Anwendungen verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /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] ... );
Parameter
format
Formatsteuerzeichenfolge.argument
Optionale Parameter.locale
Das Gebietsschema zu verwenden.
Rückgabewert
Die Anzahl der Zeichen ausgegeben.
Hinweise
Diese Funktionen formatieren und drucken eine Reihe von Zeichen und Werte direkt an die Konsole, mit der _putch-Funktion (_putwch für _cwprintf_s) zu den Ausgabezeichen.Jedes argument (falls vorhanden) wird und Ausgabe entsprechend der entsprechenden Formatangabe in format konvertiert.Das Format hat die gleiche Form und Funktion wie der format-Parameter für die wie-Funktion.Anders als fprintf_s, printf_s und sprintf_s-Funktionen weder übersetzt _cprintf_s noch _cwprintf_s Zeilenvorschubzeichen in Kombinationen von Wagenrücklauf-Zeilenvorschubs (CR-LF), wenn sie ausgegeben werden.
Ein wichtiger Unterschied ist, dass _cwprintf_s Unicode-Zeichen angezeigt wird, wenn in Windows NT verwendet wird.Anders als _cprintf_s verwendet _cwprintf_s das aktuelle Konsolengebietsschema
Die Versionen dieser Funktionen mit dem _l Suffix sind identisch, allerdings verwenden den Gebietsschemaparameter in, der anstelle des aktuellen Gebietsschemas übergeben wird.
Sicherheitshinweis |
---|
Stellen Sie sicher, dass format keine benutzerdefinierte Zeichenfolge ist. |
Wie die nicht-sicheren Versionen (siehe _cprintf, _cprintf_l, _cwprintf, _cwprintf_l), werden diese Funktionen ihre Parameter und rufen den ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben, wenn format ein NULL-Zeiger ist.Diese Funktionen unterscheiden sich von den nicht-sicheren Versionen darin, dass die Formatzeichenfolge selbst auch überprüft wird.Wenn es dabei unbekannten oder ungültigen Formatbezeichners gibt, rufen diese Funktionen den ungültigen Parameterhandler auf.In allen Fällen wenn Ausführung zulässig ist, um fortzufahren, die Funktionsrückgabe -1 und Satz errno zu EINVAL.
Zuordnung generische Textroutinen
Tchar.h-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tcprintf_s |
_cprintf_s |
_cprintf_s |
_cwprintf_s |
_tcprintf_s_l |
_cprintf_s_l |
_cprintf_s_l |
_cwprintf_s_l |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_cprintf_s,_cprintf_s_l |
<conio.h> |
_cwprintf_s, _cwprintf_s_l |
<conio.h> |
Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
Bibliotheken
Alle Versionen C-Laufzeitbibliotheken.
Beispiel
// 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 );
}
Ausgabe
-16 001d 62511 A Test
Siehe auch
Referenz
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
_printf_s_l, wie, wprintf_s, _wprintf_s_l
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l