C ++ sscanf () - C ++ standardna knjižnica

Funkcija sscanf () u C ++ koristi se za čitanje podataka iz međuspremnika niza.

prototip sscanf ()

 int sscanf (const char * međuspremnik, const char * format, …);

sscanf()Funkcija čita podatke čita podatke iz pufera i pohranjuje vrijednosti u pojedinim varijablama.

Definirano je u datoteci zaglavlja.

sscanf () parametri

  • buffer: Pokazivač na niz znakova završenih nulom iz kojeg ćete čitati podatke.
  • format: Pokazivač na niz znakova završenih nulom koji određuje kako se čita ulaz. Sastoji se od specifikatora formata koji počinju s%.

    Niz formatiranja ima sljedeće dijelove:

    • Non whitespace charactersosim% od kojih svaki troši po jedan identičan znak iz ulaznog toka. To može uzrokovati neuspjeh funkcije ako se sljedeći znak u streamu ne usporedi.
    • Whitespace character: Svi uzastopni razmaci razmaču se s jednim razmakom. Nadalje, ' n', ' t' i '' smatraju se istim.
    • Conversion specification: Slijedi sljedeći format:
      • Inicijalni% znak koji specificira početak
      • Izborni * koji se naziva znak za suzbijanje dodjele. Ako je prisutan ovaj znak, fscanf () ne dodjeljuje rezultat niti jednom argumentu primanja.
      • Izborni pozitivni cijeli broj koji specificira maksimalnu širinu polja. Određuje maksimalan broj znakova koji fscanf () smije upotrijebiti prilikom izvršavanja pretvorbe određene trenutnom specifikacijom pretvorbe.
      • Izborni modifikator duljine koji specificira veličinu argumenta koji prima.
      • Specifikator formata pretvorbe.
        Specifikator formata Opis
        % Podudara se s doslovnim%
        c Podudara se s jednim znakom ili više znakova. Ako je širina definirana, točno se podudara sa znakovima širine.
        s Podudara se s uzastopnim znakovima koji nisu razmaci. Ako je širina definirana, točno se podudara sa znakovima širine ili dok se ne pronađe prvi razmak.
        (postavljeno) Podudara se s praznim nizom znakova iz zadanog skupa znakova. Ako je prisutan na početku skupa, tada se podudaraju svi znakovi koji nisu u skupu.
        d Podudara se s decimalnim cijelim brojem.
        ja Podudara se s cijelim brojem.
        o Podudara se s nepotpisanim osminski cijelim brojem.
        X ili x Podudara se s nepotpisanim heksadecimalnim cijelim brojem.
        u Podudara se s nepotpisanim decimalnim cijelim brojem.
        A ili a, E ili e, F ili f, G ili g Podudara se s brojem s pomičnom zarezom.
        n Vraća broj do sada pročitanih znakova.
        str Podudara se s implementacijom definiranim slijedom znakova koji definira pokazivač.
    Dakle, općeniti format specifikatora formata je: %(*)(width)(length)specifier
  • …: Ostali dodatni argumenti za primanje podataka. Javljaju se u slijedu prema specifikatoru formata.

sscanf () Povratna vrijednost

  • Ako je uspješna, sscanf()funkcija vraća broj uspješno dodijeljenih argumenata za primanje.
  • Ako se dogodi neuspjeh podudaranja prije nego što je dodijeljen prvi argument koji prima, vraća nulu.
  • Ako se neuspjeh unosa dogodi prije nego što je dodijeljen prvi argument primanja, vraća se EOF.

Primjer: Kako funkcionira sscanf () funkcija

 #include int main () ( char fname(50), lname(50); char buffer() = "Dennis Ritchie"; sscanf(buffer, "%s %s", fname, lname); printf("First name : %s Last name : %s", fname, lname); return 0; )

Kada pokrenete program, mogući izlaz bit će:

 Ime: Dennis Prezime: Ritchie

Zanimljivi članci...