_scprintf, _scprintf_l, _scwprintf, _scwprintf_l
Gibt die Anzahl der Zeichen in der formatierten Zeichenfolge zurück.
int _scprintf(
const char *format [,
argument] ...
);
int _scprintf_l(
const char *format,
locale_t locale [,
argument] ...
);
int _scwprintf(
const wchar_t *format [,
argument] ...
);
int _scwprintf_l(
const wchar_t *format,
locale_t locale [,
argument] ...
);
Parameter
format
Formatsteuerzeichenfolge.argument
Optionale Argumente.locale
Das zu verwendende Gebietsschema.
Weitere Informationen finden Sie unter Formatangaben.
Rückgabewert
Gibt die Anzahl von Zeichen zurück, die generiert werden, wenn die Zeichenfolge in einer Datei oder einem Puffer mithilfe der angegebenen Formatierungscodes gedruckt werden oder gesendet werden sollen. Der zurückgegebene Wert enthält nicht das NULL. _scwprintf führt die gleiche Aufgabe für Breitzeichen erfüllt.
Wenn format ein NULL-Zeiger ist, wird der Handler für ungültige Parameter aufgerufen, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, geben diese Funktionen "– 1" zurück und legen errno auf EINVAL fest.
Weitere Informationen über diese und andere Fehlercodes finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.
Hinweise
Jedes argument (falls vorhanden) wird entsprechend der entsprechenden Formatangabe in format konvertiert. Das Format besteht aus normalen Zeichen und hat die gleiche Form und Funktion wie das format-Argument für printf.
Die Versionen dieser Funktionen mit dem _l-Suffix sind beinahe identisch, verwenden jedoch den ihnen übergebenen Gebietsschemaparameter anstelle des aktuellen Threadgebietsschemas.
![]() |
---|
Stellen Sie sicher, dass format keine benutzerdefinierte Zeichenfolge ist. |
Zuordnung generischer Textroutinen
Tchar.h-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_sctprintf |
_scprintf |
_scprintf |
_scwprintf |
_sctprintf_l |
_scprintf_l |
_scprintf_l |
_scwprintf_l |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_scprintf, _scprintf_l |
<stdio.h> |
_scwprintf, _scwprintf_l |
<stdio.h> oder <wchar.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Beispiel
// crt__scprintf.c
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
#include <malloc.h>
int main( void )
{
int count;
int size;
char *s = NULL;
count = _scprintf( "The value of Pi is calculated to be %f.\n",
M_PI);
size = count + 1; // the string will need one more char for the null terminator
s = malloc(sizeof(char) * size);
sprintf_s(s, size, "The value of Pi is calculated to be %f.\n",
M_PI);
printf("The length of the following string will be %i.\n", count);
printf("%s", s);
free( s );
}
Siehe auch
Referenz
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l
scanf, _scanf_l, wscanf, _wscanf_l