Freigeben über


_snscanf, _snscanf_l, _snwscanf, _snwscanf_l

Reads formatierte Daten einer angegebenen Länge einer Zeichenfolge.Sicherere Versionen dieser Funktionen sind verfügbar. Weitere Informationen finden Sie unter _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l.

int __cdecl _snscanf(
   const char * input,
   size_t length,
   const char * format,
   ...
);
int __cdecl _snscanf_l(
   const char * input,
   size_t length,
   const char * format,
   locale_t locale,
   ...
);
int __cdecl _snwscanf(
   const wchar_t * input,
   size_t length,
   const wchar_t * format,
   ...
);
int __cdecl _snwscanf_l(
   const wchar_t * input,
   size_t length,
   const wchar_t * format,
   locale_t locale,
   ...
);

Parameter

  • input
    So überprüfen Sie Eingabezeichenfolge.

  • length
    Zahl in inputzu überprüfende Zeichen.

  • format
    Eine oder mehrere Formatbezeichner.

  • ... (optional)
    Variablen, die verwendet werden, um die Werte zu speichern, von der aus der Eingabezeichenfolge extrahierten Format Specifiers in format.

  • locale
    Das zu verwendende Gebietsschema.

Rückgabewert

Beide Funktionen gibt die Anzahl der erfolgreich konvertierten und zugewiesenen Felder zurück. Der Rückgabewert schließt keine Felder, die gelesen wurden, jedoch kein Wert zugewiesen.Ein Rückgabewert von 0 gibt an, dass keine Felder zugewiesen wurden.Der Rückgabewert ist EOF für einen Fehler oder wenn das Ende der Zeichenfolge vor der ersten Konvertierung erreicht ist.Weitere Informationen finden Sie unter sscanf.

Wenn inputNULLformat oder ein Zeiger ist oder wenn length kleiner oder gleich null ist, wird der Ereignishandler aufgerufen, z. B. ungültige Parameter in Parametervalidierungbeschrieben.Wenn die Ausführung fortgesetzt werden kann, darf dieser Funktionen geben EOF festlegen und errno zu EINVAL.

Weitere Informationen über diese und andere Fehlercodes finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.

Hinweise

Diese Funktion ist vergleichbar, außer dass sie sscanf bietet die Möglichkeit, eine festgelegte Anzahl von Zeichen an, die aus der Eingabezeichenfolge zu überprüfen.Weitere Informationen finden Sie unter sscanf.

Die Versionen dieser Funktionen mit dem _l Suffix sind identisch, mit der Ausnahme, dass sie verwenden den Gebietsschemaparameter, der anstelle des aktuellen Threads gebietsschemas übergeben wird.

Zuweisung generischer Textroutinen

Tchar.h-Routine

_UNICODE als auch _MBCS nicht definiert

_MBCS definieren

_UNICODE definiert

_sntscanf

_snscanf

_snscanf

_snwscanf

_sntscanf_l

_snscanf_l

_snscanf_l

_snwscanf_l

Anforderungen

Routine

Erforderlicher Header

_snscanf, _snscanf_l

<stdio.h>

_snwscanf, _snwscanf_l

<stdio.h> oder <wchar.h>

Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.

Beispiel

// crt_snscanf.c
// compile with: /W3

#include <stdio.h>
int main( )
{
   char  str1[] = "15 12 14...";
   wchar_t  str2[] = L"15 12 14...";
   char  s1[3];
   wchar_t  s2[3];
   int   i;
   float fp;

   i = _snscanf( str1, 6,  "%s %f", s1, &fp); // C4996
   // Note: _snscanf is deprecated; consider using _snscanf_s instead
   printf("_snscanf converted %d fields: ", i);
   printf("%s and %f\n", s1, fp);

   i = _snwscanf( str2, 6,  L"%s %f", s2, &fp); // C4996
   // Note: _snwscanf is deprecated; consider using _snwscanf_s instead
   wprintf(L"_snwscanf converted %d fields: ", i);
   wprintf(L"%s and %f\n", s2, fp);
}
  

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

scanf Breitenangabe