Sdílet prostřednictvím


_cscanf, _cscanf_l, , _cwscanf_cwscanf_l

Čte formátovaná data z konzoly. K dispozici jsou bezpečnější verze těchto funkcí; viz _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.

Poznámka:

V sadě Visual Studio 2015 Byly printf deklarovány a přesunuty inline <stdio.h> do hlaviček <conio.h> a scanf funkcí. Pokud migrujete starší kód, může se zobrazit chyba linkeru LNK2019 v souvislosti s těmito funkcemi. Další informace najdete v tématu Historie změn v jazyce Visual C++ 2003 – 2015.

Důležité

Toto rozhraní API nelze použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.

Syntaxe

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
Řetězec řízení formátu

argument
Volitelné parametry.

locale
Národní prostředí, které se má použít

Vrácená hodnota

Počet polí, která byla úspěšně převedena a přiřazena. Vrácená hodnota neobsahuje pole, která byla přečtená, ale nepřiřazená. Vrácená hodnota je EOF určena k pokusu o přečtení na konci souboru. Můžete EOF také vrátit, když je vstup klávesnice přesměrován na úrovni příkazového řádku operačního systému. Návratová hodnota nuly znamená, že nebyla přiřazena žádná pole.

Poznámky

Funkce _cscanf čte data přímo z konzoly do umístění, která jsou uvedena .argument Funkce _getche se používá ke čtení znaků. Každý volitelný parametr musí být ukazatel na proměnnou s typem, který odpovídá specifikátoru typu v format. Formát řídí interpretaci vstupních polí a má stejný formulář a funkci jako format parametr funkce scanf . Zatímco _cscanf obvykle ozvěna vstupní znak, to nedělá to, pokud poslední volání bylo _ungetch.

Tato funkce ověří své parametry. Pokud je NULLformát , je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je povoleno pokračovat provádění, errno je nastavena na EINVAL a funkce vrátí EOF.

Verze těchto funkcí s příponou _l jsou shodné s tím rozdílem, že používají parametr národního prostředí předaný místo aktuálního národního prostředí vlákna.

Mapování rutin obecného textu

Rutina TCHAR.H _UNICODE a _MBCS není definován _MBCS definovaný _UNICODE definovaný
_tcscanf _cscanf _cscanf _cwscanf
_tcscanf_l _cscanf_l _cscanf_l _cwscanf_l

Požadavky

Rutina Požadovaný hlavičkový soubor
_cscanf, _cscanf_l <conio.h>
_cwscanf, _cwscanf_l <conio.h> nebo <wchar.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

// 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

Viz také

Vstupně-výstupní operace konzoly a 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