Indholdsfortegnelse:
Definition - Hvad betyder Scanf?
I programmeringssprog C er scanf en funktion, der læser formaterede data fra stdin (dvs. standardinputstrømmen, som normalt er tastaturet, medmindre omdirigeret) og derefter skriver resultaterne til de givne argumenter.
Denne funktion hører til en familie af funktioner, der har den samme funktionalitet, men afviger kun i deres datakilde. F.eks. Får fscanf input fra en filstrøm, mens sscanf får input fra en streng.
Techopedia forklarer Scanf
Scanf-funktionen har følgende prototype / signatur:
int scanf (const char * -format, …);
hvor
- int (heltal) er returtypen
- format er en streng, der indeholder typespecifikationen (e) (se nedenfor)
- "…" (ellipsis) angiver, at funktionen accepterer et variabelt antal argumenter; hvert argument skal være en hukommelsesadresse, hvor det konverterede resultat skrives til
En simpel typespecifikation består af et procent (%) symbol og et alfakarakter, der angiver typen. Nedenfor er et par eksempler på de typespecifikationer, der genkendes af scanf:
- % c - Karakter
- % d - Signeret heltal
- % x - Usigneret heltal i hexadecimal format
- % f - Flydende punkt
- % s - streng
Funktionen fungerer ved at læse input fra standardinputstrømmen og derefter scanne indholdet af "format" for ethvert formatspecifikation og forsøge at matche de to. Ved succes skriver funktionen resultatet ind i de (n) angivne argument (er).
For eksempel, hvis funktionskaldet er
scanf ("% c% d", & var1, & var2);
og brugeren skriver "a1", vil funktionen skrive "a" til "var1" og "1" til "var2". Hvis funktionen opkald er, er den imidlertid
scanf ("% x", & var);
den samme indgang læses som det hexadecimale tal "a1", der er 161 i decimal.
Funktionen returnerer følgende værdi:
- > 0 - Antallet af elementer, der er konverteret og tildelt med succes.
- 0 - Ingen ting blev tildelt.
- <0 - Der blev fundet en læsefejl eller filens slutning (EOF), inden der blev udført nogen tildeling.
