C ++ wscanf () - C ++ standardraamatukogu

Funktsioon wscanf () C ++ -s loeb stdinilt laia märki.

Funktsioon wscanf () on määratletud päisefailis.

wscanf () prototüüp

 int wscanf (const char * formaat,…);

Funktsioon wscanf () loeb stdinilt andmeid ja salvestab väärtused vastavatesse muutujatesse.

wscanf () parameetrid

  • formaat: nulliga lõpetatud tähemärgi kursor, mis määrab, kuidas sisendit lugeda. See koosneb vorminguspetsifikaatoritest algusega%.
    Formaadistringil on järgmised osad:
    • Muud tühimärgid, välja arvatud%, millest igaüks kulutab sisendvoost ühte identset tähemärki. See võib põhjustada funktsiooni nurjumise, kui voo järgmine märk ei võrdu võrdsega.
    • Tühimärk: kõiki järjestikuseid tühimärke käsitletakse ühe tühimärgina. Edasi loetakse tähti ' n', ' t' ja '' samaks.
    • Teisenduse spetsifikatsioon: see järgib järgmist vormingut:
      • Algne% märk, mis määrab alguse
      • Valikuline *, mida nimetatakse määramist summutavaks tähemärgiks. Kui see märk on olemas, ei määra wscanf () tulemust ühelegi vastuvõtuargumendile.
      • Valikuline positiivne täisarv, mis määrab välja maksimaalse laiuse. See määrab maksimaalse tähemärkide arvu, mida wscanf () võib kasutada praeguse teisendusspetsifikatsiooniga määratud teisenduse tegemisel.
      • Valikuline pikkuse muutja, mis määrab vastuvõtu argumendi suuruse.
      • Teisendusvormingu täpsustaja.
    Vorminguspetsifikaatorid
    Vorminguspetsifikaator Kirjeldus
    % Sobib sõna otseses mõttes%
    c Sobib ühe või mitme tähemärgiga. Kui laius on määratletud, sobib see täpselt laiuse tähemärkidega.
    s Sobib järjestikuste tühimärkidega. Kui laius on määratletud, vastab see täpselt laiuse tähemärgile või kuni leitakse esimene tühik.
    (komplekt) Sobib antud tähemärkide komplekti mittetühja jada. Kui hulga alguses on ^, siis sobitatakse kõik tähemärgid, mida pole komplektis.
    d Sobib kümnendarvuni.
    i Sobib täisarvuga.
    o Sobib allkirjastamata kaheksandarvuga.
    X või x Sobib allkirjastamata kuueteistkümnendsüsteemi täisarvuga.
    u Sobib allkirjastamata kümnendarvuga.
    A või a, E või e, F või f, G või g Sobib ujukomaarvuga.
    n Tagastab seni loetud märkide arvu.
    lk Vastab rakenduse määratletud märgijärjestusele, mis määrab kursori.

    Seega on vorminguspetsifikaatori üldine vorming:
     % (*) (laius) (pikkus) täpsustaja
  • …: Muud täiendavad argumendid andmete vastuvõtmiseks. Need esinevad järjestuses vastavalt vorminguspetsifikaatorile.

wscanf () Tagastusväärtus

  • Funktsioon wscanf () tagastab edukalt määratud vastuvõtvate argumentide arvu.
  • Kui tõrge ilmneb enne esimese vastuvõtuargumendi määramist, tagastatakse EOF.

Näide: Kuidas funktsioon wscanf () töötab?

 #include #include #include #include using namespace std; int main() ( wchar_t hebrew_str() = L"u05D0 u05D1 u05E1 u05D3 u05EA"; wchar_t ch; setlocale(LC_ALL, "en_US.UTF-8"); wprintf(L"Enter a wide character: "); wscanf(L"%lc",&ch); if (iswalnum(ch)) wcout << ch << L" is alphanumeric." << endl; else wcout << ch << L" is not alphanumeric." << endl; return 0; )

Programmi käivitamisel on võimalik väljund:

 Sisestage lai tähemärk: ∭ ∭ ei ole tähtnumbriline.

Huvitavad Artiklid...