_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
Přečte formátovaná data z konzoly.Bezpečnější verze těchto funkcí jsou k dispozici; viz _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.
Důležité |
---|
Toto API nelze použít v aplikacích, které jsou spuštěny v modulu Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /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
Řetězec řízení formátu.argument
Volitelné parametry.locale
Použité národní prostředí.
Vrácená hodnota
Počet polí, které byly úspěšně převedeny a přiřazeny.Návratová hodnota nezahrnuje pole, které bylo přečteno, ale nepřiřazeno.Návratová hodnota je EOF pro pokus o čtení na konci souboru.Tato situace může nastat, když je vstup z klávesnice přesměrován na úrovni příkazového řádku operačního systému.Vrácená hodnota 0 znamená, že nebyla přiřazena žádná pole.
Poznámky
Funkce _cscanf načte data přímo z konzoly do míst daných argumentem argument.Funkce _getche se používá ke čtení znaků.Každý volitelný parametr musí ukazovat na proměnnou s typem, který odpovídá specifikátoru typů ve format.Formát řídí interpretaci vstupních polí a má stejnou formu a funkci jako parametr format funkce scanf.Zatímco _cscanf obvykle vrátí vstupní znak, neučiní tak, pokud poslední volání bylo _ungetch.
Tato funkce ověřuje své parametry.Pokud je formát NULL, je vyvolána obslužná rutina neplatné parametru, jak je popsáno v Ověření parametru.Pokud smí provádění pokračovat, errno se nastaví na EINVAL a funkce vrátí EOF.
Verze těchto funkcí s příponou _l jsou stejné s tím rozdílem, že používají parametr předané národní prostředí namísto aktuálního národní prostředí pro vlákno.
Rutinní mapování obecného textu
Rutina TCHAR.H |
_UNICODE a _MBCS nejsou definovány |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_tcscanf |
_cscanf |
_cscanf |
_cwscanf |
_tcscanf_l |
_cscanf_l |
_cscanf_l |
_cwscanf_l |
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_cscanf,_cscanf_l |
<conio.h> |
_cwscanf, _cwscanf_l |
<conio.h> nebo <wchar.h> |
Další informace o kompatibilitě naleznete 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" );
}
Vstup
1 2 3
Výsledek
Enter three integers: 1 2 3
You entered 3 2 1
Viz také
Referenční dokumentace
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf, _fscanf_l, fwscanf, _fwscanf_l