Dom Razvoj Što je scanf? - definicija iz tehopedije

Što je scanf? - definicija iz tehopedije

Sadržaj:

Anonim

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.
Što je scanf? - definicija iz tehopedije