Freigeben über


_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.

SicherheitshinweisSicherheitshinweis

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

Stream-E/A

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

scanf, _scanf_l, wscanf, _wscanf_l

sscanf, _sscanf_l, swscanf, _swscanf_l

vprintf-Funktionen