Sadržaj:
Definicija - Što znači Scanf?
U programskom jeziku C, scanf je funkcija koja čita formatirane podatke sa stdina (tj. Standardni ulazni tok, koji je obično tipkovnica, osim ako nije preusmjeren), a zatim upisuje rezultate u dane argumente.
Ova funkcija pripada obitelji funkcija koje imaju istu funkcionalnost, ali se razlikuju samo u izvoru podataka. Na primjer, fscanf dobiva svoj unos iz struje datoteka, dok sscanf dobiva svoj unos iz niza.
Tehopedija objašnjava Scanf
Funkcija scanf ima sljedeći prototip / potpis:
int scanf (format const char *, …);
gdje
- int (integer) je vrsta povratka
- format je niz koji sadrži specifikator tipa (vidi dolje)
- "…" (elipsa) označava da funkcija prihvaća promjenjivi broj argumenata; svaki argument mora biti memorijska adresa na koju je upisan pretvorjeni rezultat
Jednostavni specifikator tipa sastoji se od postotka (%) i alfa znaka koji označava tip. Ispod je nekoliko primjera specifikatora tipa koje prepoznaje scanf:
- % c - Znak
- % d - cijeli broj potpisan
- % x - Nepotpisani cijeli broj u heksadecimalnom formatu
- % f - Plutajuća točka
- % s - string
Funkcija funkcionira tako što čita unos iz standardnog ulaznog toka, a zatim skenira sadržaj "formata" za bilo koji određivač formata, pokušavajući uskladiti ova dva. Nakon uspjeha, funkcija zapisuje rezultat u argument (e) koji su prošli.
Na primjer, ako je poziv funkcije
scanf ("% c% d", & var1, & var2);
a korisnik upiše "a1", funkcija će upisati "a" u "var1" i "1" u "var2". Ako je, međutim, poziv u funkciju
scanf ("% x", & var);
čitat će se isti ulaz kao i heksadecimalni broj "a1", koji je 161 u decimalnom obliku.
Funkcija vraća sljedeću vrijednost:
- > 0 - Broj predmeta koji su uspješno pretvoreni i dodijeljeni.
- 0 - Nije dodijeljen nijedan predmet.
- <0 - Došlo je do pogreške u čitanju ili je dostignuta kraj datoteke (EOF) prije nego je dodijeljen bilo koji zadatak.
