Domov Rozvoj Co je to scanf? - definice z techopedie

Co je to scanf? - definice z techopedie

Obsah:

Anonim

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í.
Co je to scanf? - definice z techopedie