Hjem Utvikling Hva er scanf? - definisjon fra techopedia

Hva er scanf? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr Scanf?

På programmeringsspråket C er scanf en funksjon som leser formatert data fra stdin (dvs. standardinngangsstrømmen, som vanligvis er tastaturet, med mindre den blir omdirigert) og deretter skriver resultatene inn i de argumenter som er gitt.

Denne funksjonen tilhører en familie med funksjoner som har samme funksjonalitet, men avviker bare i datakilden. For eksempel får fscanf inndata fra en filstrøm, mens sscanf får innspill fra en streng.

Techopedia forklarer Scanf

Scanf-funksjonen har følgende prototype / signatur:

int scanf (const char * format, …);

hvor

  • int (heltall) er returtypen
  • format er en streng som inneholder typespesifikator (er) (se nedenfor)
  • "…" (ellipsis) indikerer at funksjonen godtar et variabelt antall argumenter; hvert argument må være en minneadresse der det konverterte resultatet skrives til

En enkel typespesifikator består av et prosent (%) symbol og et alfakarakter som indikerer typen. Nedenfor er noen få eksempler på typespesifikatorene som gjenkjennes av scanf:

  • % c - Karakter
  • % d - Signert heltall
  • % x - Usignert heltall i heksadesimal format
  • % f - Flytepunkt
  • % s - Streng

Funksjonen fungerer ved å lese innspill fra standardinngangsstrømmen og skanner deretter innholdet i "format" etter hvilket som helst format, og prøver å matche de to. Ved suksess skriver funksjonen resultatet inn i de (de) argumentene som er gått.

For eksempel hvis funksjonsanropet er

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

og brukeren skriver "a1", vil funksjonen skrive "a" til "var1" og "1" til "var2". Hvis funksjonen anrop er, er den imidlertid

scanf ("% x", & var);

den samme inngangen vil bli lest som det heksadesimale tallet "a1", som er 161 i desimal.

Funksjonen returnerer følgende verdi:

  • > 0 - Antall elementer som ble konvertert og tildelt vellykket.
  • 0 - Ingen ting ble tildelt.
  • <0 - Lesefeil som oppstod eller filens slutt (EOF) ble nådd før noen oppgave ble utført.
Hva er scanf? - definisjon fra techopedia