_cscanf
, , _cscanf_l
, , _cwscanf
_cwscanf_l
Odczytuje sformatowane dane z konsoli programu . Dostępne są bezpieczniejsze wersje tych funkcji; zobacz _cscanf_s
, , _cwscanf_s
_cscanf_s_l
, , _cwscanf_s_l
.
Uwaga
W programie Visual Studio 2015 printf
rodzina funkcji i scanf
została zadeklarowana jako inline
i przeniesiona do <stdio.h>
nagłówków i <conio.h>
. W przypadku migrowania starszego kodu może zostać wyświetlony komunikat Błąd konsolidatora LNK2019 w połączeniu z tymi funkcjami. Aby uzyskać więcej informacji, zobacz Historia zmian języka Visual C++ 2003 – 2015.
Ważne
Tego interfejsu API nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.
Składnia
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 kontroli 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 zostały odczytane, ale nie zostały przypisane. Wartość zwracana jest EOF
dla próby odczytania na końcu pliku. Element EOF
może być również zwracany, gdy dane wejściowe klawiatury są przekierowywane na poziomie wiersza polecenia systemu operacyjnego. Zwracana wartość zero oznacza, że żadne pola nie zostały przypisane.
Uwagi
Funkcja _cscanf
odczytuje dane bezpośrednio z konsoli do lokalizacji podanych przez argument
program . Funkcja _getche
służy do odczytywania znaków. Każdy opcjonalny parametr musi być wskaźnikiem do zmiennej o typie odpowiadającym specyfikatorowi typu w programie format
. Format steruje interpretacją pól wejściowych i ma taką samą formę i funkcję jak format
parametr funkcji scanf
. Zwykle _cscanf
powtarza znak wejściowy, ale nie robi tego, jeśli ostatnie wywołanie miało wartość _ungetch
.
Ta funkcja weryfikuje jego parametry. Jeśli format ma NULL
wartość , wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, jest ustawione na EINVAL
, errno
a funkcja zwraca wartość EOF
.
Wersje tych funkcji z sufiksem _l
są identyczne, z tą różnicą, że używają parametru ustawień regionalnych przekazanych zamiast bieżących ustawień regionalnych wątku.
Mapowania procedur tekstu ogólnego
Procedura TCHAR.H | _UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_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 o 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" );
}
1 2 3
Enter three integers: 1 2 3
You entered 3 2 1
Zobacz też
We/Wy konsoli i portu
_cprintf
, , _cprintf_l
, , _cwprintf
_cwprintf_l
fscanf
, , _fscanf_l
, , fwscanf
_fwscanf_l
scanf_s
, , _scanf_s_l
, , wscanf_s
_wscanf_s_l
sscanf
, , _sscanf_l
, , swscanf
_swscanf_l