_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l
Stile und Drucken auf der Konsole, mit Unterstützung für positionelle Parameter in der Formatzeichenfolge.
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_p(
const char * format [,
argument] ...
);
int _cprintf_p_l(
const char * format,
locale_t locale [,
argument] ...
);
int _cwprintf_p(
const wchar * format [,
argument] ...
);
int _cwprintf_p_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 gedruckt oder von negativen Wert, wenn ein Fehler auftritt.
Hinweise
Format dieser Funktionen und drucken eine Reihe von Zeichen und Werte direkt an die Konsole, mit der _putch und _putwch-Funktionen 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 printf_p-Funktion.Der Unterschied zwischen _cprintf_p und cprintf_s ist, dass _cprintf_p positionelle Parameter unterstützt, der das Angeben der Reihenfolge ermöglicht, in der die Argumente in der Formatzeichenfolge verwendet werden.Weitere Informationen finden Sie unter printf_p positionelle Parameter.
Anders als fprintf_p, printf_p und sprintf_p-Funktionen weder übersetzt _cprintf_p noch _cwprintf_p Zeilenvorschubzeichen in Kombinationen von Wagenrücklauf-Zeilenvorschubs (CR-LF), wenn sie ausgegeben werden.Ein wichtiger Unterschied ist, dass _cwprintf_p Unicode-Zeichen angezeigt wird, wenn in Windows NT verwendet wird.Anders als _cprintf_p verwendet _cwprintf_p die aktuellen Konsolengebietsschemaeinstellungen.
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. |
Außerdem wie _cprintf_s und _cwprintf_s, überprüfen sie den Eingabezeiger und die Formatzeichenfolge.Wenn format oder argumentNULL sind oder der Formatzeichenfolge ungültige Formatierungszeichen enthält, rufen diese Funktionen den ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, geben diese Funktionen -1 und Menge errno zu EINVAL zurück.
Zuordnung generische Textroutinen
Tchar.h-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tcprintf_p |
_cprintf_p |
_cprintf_p |
_cwprintf_p |
_tcprintf_p_l |
_cprintf_p_l |
_cprintf_p_l |
_cwprintf_p_l |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_cprintf_p,_cprintf_p_l |
<conio.h> |
_cwprintf_p,_cwprintf_p_l |
<conio.h> |
Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
Beispiel
// crt_cprintf_p.c
// This program displays some variables to the console
// using the _cprintf_p function.
#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_p( "%2$d %1$.4x %3$u %4$c %5$s\r\n",
h, i, u, c, s );
}
Siehe auch
Referenz
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
_cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l
_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l
fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l
_printf_s_l, wie, wprintf_s, _wprintf_s_l
_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l
_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l
_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
printf_p positionelle Parameter