Obsah:
Definice - Co znamená Scanf?
V programovacím jazyce C je scanf funkce, která čte formátovaná data ze stdin (tj. Standardní vstupní tok, který je obvykle klávesnicí, pokud není přesměrován) a poté zapíše výsledky do zadaných argumentů.
Tato funkce patří do rodiny funkcí, které mají stejnou funkčnost, ale liší se pouze zdrojem dat. Například fscanf získá svůj vstup z proudu souborů, zatímco sscanf získá svůj vstup z řetězce.
Techopedia vysvětluje Scanf
Funkce scanf má následující prototyp / podpis:
int scanf (const char * format, …);
kde
- int (integer) je návratový typ
- format je řetězec, který obsahuje specifikátory typu (viz níže)
- "…" (elipsa) označuje, že funkce přijímá variabilní počet argumentů; každý argument musí být adresou paměti, na kterou je převedený výsledek zapsán
Jednoduchý specifikátor typu se skládá ze symbolu procenta (%) a znaku alfa označujícího typ. Níže uvádíme několik příkladů specifikátorů typů rozpoznaných programem scanf:
- % c - znak
- % d - Podepsané celé číslo
- % x - Celé celé číslo bez znaménka v hexadecimálním formátu
- % f - Floating point
- % s - String
Funkce pracuje tak, že se čte vstup ze standardního vstupního proudu a poté se prohledá obsah „formátu“ pro všechny specifikátory formátu a snaží se je porovnat. Po úspěchu funkce zapíše výsledek do předaného argumentu.
Například, pokud je volání funkce
scanf ("% c% d", & var1, & var2);
a uživatel zadá "a1", funkce zapíše "a" do "var1" a "1" do "var2". Pokud však funkce volá, je
scanf ("% x", & var);
stejný vstup bude čten jako hexadecimální číslo „a1“, které je 161 v desítkové soustavě.
Funkce vrací následující hodnotu:
- > 0 - Počet úspěšně převedených a přiřazených položek.
- 0 - Nebyla přiřazena žádná položka.
- <0 - Došlo k chybě čtení nebo ke konci souboru (EOF) bylo dosaženo před provedením jakéhokoli přiřazení.
