C ++ scanf - standardna knjižnica C ++

Funkcija scanf () v jeziku C ++ se uporablja za branje podatkov iz stdina.

prototip scanf ()

 int scanf (format const char *,…);

scanf()Funkcija prebere podatke stdinin shrambo vrednot v posameznih spremenljivk.

Določen je v datoteki glave.

parametri scanf ()

  • format: Kazalec na ničelni niz znakov, ki določa, kako prebrati vnos. Sestavljen je iz specifikatorjev formata, ki se začnejo z%.

    Niz oblike vsebuje naslednje dele:

    • Non whitespace charactersrazen%, ki porabi en enak znak iz vhodnega toka. Funkcija lahko odpove, če se naslednji znak v toku ne primerja enako.
    • Whitespace character: Vsi zaporedni presledki se obravnavajo kot posamezni presledki. Poleg tega se šteje, da ", t" in "" enaki.
    • Conversion specification: Sledi naslednji obliki:
      • Začetni znak%, ki določa začetek
      • Izbirni *, imenovan znak za preprečevanje dodelitve. Če je ta znak prisoten, scanf () ne dodeli rezultata nobenemu prejemnemu argumentu.
      • Izbirno pozitivno celo število, ki določa največjo širino polja. Določa največje število znakov, ki jih je dovoljeno uporabiti scanf () pri pretvorbi, ki jo določa trenutna specifikacija pretvorbe.
      • Izbirni modifikator dolžine, ki določa velikost sprejemnega argumenta.
      • Specifikator pretvorbenega formata.
        Format Specifier Opis
        % Ujema se z dobesednim%
        c Ujema se z enim ali več znaki. Če je širina definirana, se natančno ujema s širinami.
        s Ujema se z zaporednimi znaki, ki niso presledki. Če je širina določena, se natančno ujema s širinskimi znaki ali dokler ne najdemo prvega presledka.
        (nastavljeno) Ujema se s praznim zaporedjem znakov iz danega nabora znakov. Če je na začetku nabora, se ujemajo vsi znaki, ki niso v naboru.
        d Ujema se z decimalnim celim številom.
        jaz Ujema se s celim številom.
        o Ujema se z nepodpisanim osmiškim številom.
        X ali x Ujema se s šestnajstiškim neštetim celim številom.
        u Ujema se z nepodpisanim decimalnim celim številom.
        A ali a, E ali e, F ali f, G ali g Ujema se s številom s plavajočo vejico.
        n Vrne število doslej prebranih znakov.
        str Ujema se z zaporedjem znakov, definiranim z izvedbo, ki definira kazalec.
    Tako je splošna oblika specifikatorja oblike: %(*)(width)(length)specifier
  • …: Drugi dodatni argumenti za prejemanje podatkov. Pojavljajo se v zaporedju glede na specifikator formata.

scanf () Vrnjena vrednost

  • Če je scanf()funkcija uspešna, vrne število sprejetih argumentov, ki so bili uspešno dodeljeni.
  • Če pride do napake pri ujemanju, preden je bil dodeljen prvi sprejemni argument, vrne nič.
  • Če pride do napake vnosa, preden je bil dodeljen prvi sprejemni argument, se vrne EOF.

Primer: Kako deluje funkcija scanf ()

 #include int main () ( FILE *fp; char name(50); int age; fp = fopen("example.txt","w"); fprintf(fp, "%s %d", "Tim", 31); fclose(fp); fp = fopen("example.txt","r"); scanf(fp, "%s %d", name, &age); fclose(fp); printf("Hello %s, You are %d years old", name, age); return 0; )

Ko zaženete program, bo možen izhod:

 Pozdravljeni Tim, star si 31 let

Zanimive Članki...