Hjem Udvikling Hvad er scanf? - definition fra techopedia

Hvad er scanf? - definition fra techopedia

Indholdsfortegnelse:

Anonim

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.
Hvad er scanf? - definition fra techopedia