Udostępnij za pośrednictwem


_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żna uwagaWaż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

scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

sscanf, _sscanf_l, swscanf, _swscanf_l