_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
Odczyty sformatowanych danych z konsoli.Bardziej bezpieczne wersje tych funkcji są dostępne w _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.
Ważne |
---|
Tego API nie można używać w aplikacjach korzystających ze środowiska wykonawczego Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane przez /ZW. |
int _cscanf(
const char *format [,
argument] ...
);
int _cscanf_l(
const char *format,
locale_t locale [,
argument] ...
);
int _cwscanf(
const wchar_t *format [,
argument] ...
);
int _cwscanf_l(
const wchar_t *format,
locale_t locale [,
argument] ...
);
Parametry
format
Ciąg formantu formatu.argument
Parametry opcjonalne.locale
Ustawienia regionalne do użycia.
Wartość zwracana
Liczba pól, które zostały pomyślnie przekonwertowane i przypisane.Wartość zwracana nie zawiera pól, które były odczytane, ale nie są przypisane.Wartość zwracana jest EOF dla próba odczytu na końcu pliku.To może wystąpić, gdy dane wejściowe z klawiatury są przekierowywane na poziomie wiersza poleceń systemu operacyjnego.Zwracana wartość wynosząca 0 oznacza, że nie przydzielono żadnych pól.
Uwagi
Funkcja _cscanf odczytuje dane bezpośrednio z konsoli w miejscach podanych przez argument._Getche funkcja jest używana do odczytu znaków.Każdy parametr opcjonalny musi być wskaźnikiem do zmiennej typu odpowiadającego specyfikatorowi typu w parametrze format.Format kontroluje interpretację pól wejściowych i ma taką samą formę i zadanie, co parametr format dla funkcji scanf.Podczas gdy _cscanf zwykle odzwierciedla znak wejścia, tak się nie dzieje w sytuacji, gdy ostatnie wywołanie było do _ungetch.
Ta funkcja sprawdza poprawność swoich parametrów.Jeśli format ma wartość NULL, zostanie wywołana procedura obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, errno jest ustawione jako EINVAL, a funkcja zwraca EOF.
Wersje tych funkcji z przyrostkiem _l są identyczne z wyjątkiem stosowania regionalnych parametrów zamiast bieżącego ciągu.
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE i _MBCS nie zdefiniowany |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_tcscanf |
_cscanf |
_cscanf |
_cwscanf |
_tcscanf_l |
_cscanf_l |
_cscanf_l |
_cwscanf_l |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
_cscanf,_cscanf_l |
<conio.h> |
_cwscanf, _cwscanf_l |
<conio.h> lub <wchar.h> |
Aby uzyskać więcej informacji na temat zgodności – zobacz: Zgodność.
Przykład
// crt_cscanf.c
// compile with: /c /W3
/* This program prompts for a string
* and uses _cscanf to read in the response.
* Then _cscanf returns the number of items
* matched, and the program displays that number.
*/
#include <stdio.h>
#include <conio.h>
int main( void )
{
int result, i[3];
_cprintf_s( "Enter three integers: ");
result = _cscanf( "%i %i %i", &i[0], &i[1], &i[2] ); // C4996
// Note: _cscanf is deprecated; consider using _cscanf_s instead
_cprintf_s( "\r\nYou entered " );
while( result-- )
_cprintf_s( "%i ", i[result] );
_cprintf_s( "\r\n" );
}
Dane wejściowe
1 2 3
Dane wyjściowe
Enter three integers: 1 2 3
You entered 3 2 1
Zobacz też
Informacje
Operacje We/Wy konsoli i portu
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf, _fscanf_l, fwscanf, _fwscanf_l