Cuprins:
Definiție - Ce înseamnă Scanf?
În limbajul de programare C, scanf este o funcție care citește datele formatate de la stdin (adică fluxul de intrare standard, care este de obicei tastatura, dacă nu este redirecționat) și apoi scrie rezultatele în argumentele date.
Această funcție aparține unei familii de funcții care au aceeași funcționalitate, dar diferă doar în sursa de date. De exemplu, fscanf își primește intrarea dintr-un flux de fișiere, în timp ce sscanf își primește intrările dintr-un șir.
Techopedia explică Scanf
Funcția scanf are următorul prototip / semnătura:
int scanf (format const * format, …);
Unde
- int (întreg) este tipul de retur
- formatul este un șir care conține specificatorul (tipurile) de tip (vezi mai jos)
- "…" (elipsă) indică faptul că funcția acceptă un număr variabil de argumente; fiecare argument trebuie să fie o adresă de memorie în care să fie scris rezultatul convertit
Un specificator de tip simplu este format dintr-un simbol procentual (%) și un caracter alfa care indică tipul. Mai jos sunt câteva exemple de specificatori de tip recunoscuți de scanf:
- % c - Caracter
- % d - număr întreg semnat
- % x - număr întreg nesemnat în format hexadecimal
- % f - punct flotant
- % s - șir
Funcția funcționează citind intrarea din fluxul de intrare standard și apoi scanează conținutul „formatului” pentru orice specificatori de format, încercând să se potrivească cu cele două. La succes, funcția scrie rezultatul în argumentul (argumentele) trecut.
De exemplu, dacă apelul funcțional este
scanf ("% c% d", & var1, & var2);
iar utilizatorul tastează „a1”, funcția va scrie „a” în „var1” și „1” în „var2”. Dacă apelul funcției este, totuși
scanf ("% x", & var);
aceeași intrare va fi citită ca numărul hexadecimal „a1”, care este 161 în zecimal.
Funcția returnează următoarea valoare:
- > 0 - Numărul de articole convertite și alocate cu succes.
- 0 - Nu a fost atribuit niciun articol.
- <0 - Eroare de citire întâlnită sau sfârșit de fișier (EOF) atinsă înainte de efectuarea oricărei atribuții.
