Domov Razvoj Kaj je scanf? - definicija iz tehopedije

Kaj je scanf? - definicija iz tehopedije

Kazalo:

Anonim

Opredelitev - Kaj pomeni Scanf?

V programskem jeziku C je scanf funkcija, ki bere oblikovane podatke s stdina (tj. Standardni vhodni tok, ki je ponavadi tipkovnica, razen če je preusmerjena) in rezultate zapiše v dane argumente.

Ta funkcija spada v družino funkcij, ki imajo enako funkcionalnost, vendar se razlikujejo le v izvoru podatkov. Na primer, fscanf dobi svoj vnos iz datotečnega toka, medtem ko sscanf dobi vhod iz niza.

Tehopedija razlaga Scanf

Funkcija scanf ima naslednji prototip / podpis:

int scanf (format const char *, …);

kje

  • int (celo število) je vrsta vrnitve
  • format je niz, ki vsebuje določevalce vrst (glej spodaj)
  • "…" (elipsa) pomeni, da funkcija sprejema spremenljivo število argumentov; vsak argument mora biti spominski naslov, kamor je zapisan pretvorjeni rezultat

Preprost specifikator tipa je sestavljen iz odstotka (%) in alfa znaka, ki označuje tip. Spodaj je nekaj primerov specifikatorjev tipa, ki jih prepozna scanf:

  • % c - Znak
  • % d - celo število podpisanih
  • % x - Nepodpisano celo število v šestnajstiški obliki
  • % f - Plavajoča točka
  • % s - Niz

Funkcija deluje tako, da prebere vnos iz običajnega vhodnega toka in nato pregleda vsebino "format" za poljubne speciatorje formata, pri čemer se poskuša uskladiti z obema. Po uspehu funkcija zapiše rezultat v posredovane argumente.

Na primer, če je klic funkcije

scanf ("% c% d", & var1, & var2);

in uporabnik vpiše "a1", bo funkcija zapisala "a" v "var1" in "1" v "var2". Če pa je klic funkcije, je

scanf ("% x", & var);

isti vhod bo prebran kot šestnajstiška številka "a1", ki je 161 v decimalnih točkah.

Funkcija vrne naslednjo vrednost:

  • > 0 - Število elementov, ki so bili uspešno pretvorjeni in dodeljeni.
  • 0 - Noben element ni bil dodeljen.
  • <0 - Preden je bila dodeljena kakršna koli dodelitev, je bila odkrita napaka ali prebrana napaka ali konec datoteke (EOF).
Kaj je scanf? - definicija iz tehopedije