Udostępnij za pośrednictwem


_snscanf, _snscanf_l, _snwscanf, _snwscanf_l

Odczyty sformatowane dane o określonej długości z ciągu znaków.Bezpieczniejsze wersje te funkcje są dostępne; see _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,
   ...
);

Parametry

  • input
    Ciąg wejściowy do zbadania.

  • length
    Liczba znaków do zbadania w input.

  • format
    Jeden lub więcej Specyfikatory format.

  • ... (optional)
    Zmienne, które będą używane do przechowywania wartości ekstrahowanych z wejściowego ciągu Specyfikatory format w format.

  • locale
    Ustawienia regionalne, aby użyć.

Wartość zwracana

Obie te funkcje zwraca liczbę pól pomyślnie przekonwertowane i przypisany; zwracana wartość nie zawiera pól, które były odczytywane, ale nie jest przypisany.Zwracana wartość wynosząca 0 wskazuje, że zostały przypisane żadne pola.Zwracana jest wartość EOF w błąd lub jeśli przed pierwszym konwersji osiągnięty zostanie koniec ciągu.Aby uzyskać więcej informacji, zobacz sscanf.

Jeśli input lub format jest NULL wskaźnik, lub jeśli length jest mniejsza lub równa zeru, nieprawidłowy parametr wywoływana jest funkcja obsługi, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, funkcje te zwracają EOF i errno do EINVAL.

Aby uzyskać informacje na temat tych i innych kodów błędów, zobacz _doserrno, errno, _sys_errlist i _sys_nerr.

Uwagi

Ta funkcja jest jak sscanf z wyjątkiem, że zapewnia możliwość określenia stała liczba znaków do zbadania z ciągu wejściowego.Aby uzyskać więcej informacji, zobacz sscanf.

Wersje te funkcje, z _l sufiks są identyczne, z wyjątkiem, że używają oni przekazany zamiast bieżące ustawienia regionalne wątku parametr ustawień regionalnych.

Tekst rodzajowy rutynowych mapowania

Procedura TCHAR.h

_UNICODE i _MBCS nie zdefiniowane

_MBCS, definicja

_UNICODE, definicja

_sntscanf

_snscanf

_snscanf

_snwscanf

_sntscanf_l

_snscanf_l

_snscanf_l

_snwscanf_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_snscanf, _snscanf_l

<stdio.h>

_snwscanf, _snwscanf_l

<stdio.h> lub <wchar.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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);
}
  

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

scanf — Specyfikacje szerokości