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