Innholdsfortegnelse:
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.
