Obsah:
Definícia - Čo znamená Scanf?
V programovacom jazyku C je scanf funkcia, ktorá číta formátované údaje zo stdin (tj štandardný vstupný tok, ktorým je zvyčajne klávesnica, ak nie je presmerovaná) a potom zapíše výsledky do uvedených argumentov.
Táto funkcia patrí do rodiny funkcií, ktoré majú rovnakú funkcionalitu, ale líšia sa iba zdrojom ich údajov. Napríklad fscanf získa vstup zo súboru, zatiaľ čo sscanf dostane vstup z reťazca.
Techopedia vysvetľuje Scanf
Funkcia scanf má nasledujúci prototyp / podpis:
int scanf (const char * format, …);
kde
- int (integer) je návratový typ
- format je reťazec, ktorý obsahuje špecifikátory typu (pozri nižšie)
- "…" (elipsa) označuje, že funkcia akceptuje variabilný počet argumentov; každý argument musí byť adresou pamäte, na ktorú je zapísaný konvertovaný výsledok
Jednoduchý typový špecifikátor pozostáva zo symbolu percenta (%) a znaku alfa, ktorý označuje typ. Nižšie uvádzame niekoľko príkladov typových špecifikátorov rozpoznaných programom scanf:
- % c - Znak
- % d - celé číslo podpísané
- % x - Celé celé číslo bez znamienka v hexadecimálnom formáte
- % f - Plávajúci bod
- % s - reťazec
Táto funkcia funguje tak, že sa načíta vstup zo štandardného vstupného toku a potom sa vyhľadá obsah „formátu“, či neobsahuje špecifikátory formátov, a snaží sa ich zladiť. Pri úspechu funkcia zapíše výsledok do odovzdaného argumentu.
Napríklad, ak je volanie funkcie
scanf ("% c% d", & var1, & var2);
a užívateľ napíše „a1“, funkcia zapíše „a“ do „var1“ a „1“ do „var2“. Ak je však volanie funkcie, je
scanf ("% x", & var);
ten istý vstup sa bude čítať ako hexadecimálne číslo „a1“, ktoré je 161 v desiatkovej sústave.
Funkcia vráti nasledujúcu hodnotu:
- > 0 - Počet úspešne skonvertovaných a priradených položiek.
- 0 - Nebola priradená žiadna položka.
- <0 - Vyskytla sa chyba čítania alebo sa dosiahol koniec súboru (EOF) pred vykonaním akéhokoľvek priradenia.
