_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 NULL
formá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