C ++ wscanf () - C ++ - vakiokirjasto

C ++: n wscanf () -funktio lukee leveän merkin stdinistä.

Wscanf () -toiminto määritetään otsikkotiedostossa.

wscanf () -prototyyppi

 int wscanf (const char * -muoto,…);

Wscanf () -toiminto lukee tiedot stdinistä ja tallentaa arvot vastaaviin muuttujiin.

wscanf () -parametrit

  • muoto: Osoitin nollapäätteiseen merkkijonoon, joka määrittää, miten syötettä luetaan. Se koostuu muotomäärittimistä, jotka alkavat%: lla.
    Formaatin merkkijonossa on seuraavat osat:
    • Muut kuin välilyönnit, paitsi%, joista kukin kuluttaa yhden identtisen merkin syöttövirrasta. Se voi aiheuttaa funktion epäonnistumisen, jos virran seuraava merkki ei ole yhtä suuri.
    • Välilyönti-merkki: Kaikki peräkkäiset tyhjät-merkit käsitellään yhtenä tyhjänä -merkkinä. Lisäksi ' n', ' t' ja '' pidetään samoina.
    • Muunnosmäärittely: Se noudattaa seuraavaa muotoa:
      • Alkuperäinen% merkki, joka määrittää alun
      • Valinnainen * nimeltään tehtävää tukahduttava merkki. Jos tämä merkki on läsnä, wscanf () ei määritä tulosta mihinkään vastaanottavaan argumenttiin.
      • Valinnainen positiivinen kokonaisluku, joka määrittää kentän enimmäisleveyden. Se määrittää merkkien enimmäismäärän, jonka wscanf () saa kuluttaa tehdessään nykyisen muunnosmäärityksen mukaisen muunnoksen.
      • Valinnainen pituusmuunnin, joka määrittää vastaanottavan argumentin koon.
      • Muunnosmuodon määrittelijä.
    Muotomäärittimet
    Formaatin määrittelijä Kuvaus
    % Vastaa kirjaimellista%
    c Yhdistää yhden merkin tai useita merkkejä. Jos leveys on määritetty, vastaa täsmälleen leveysmerkkejä.
    s Vastaavat peräkkäisiä muita kuin välilyöntejä. Jos leveys on määritelty, vastaa täsmälleen leveysmerkkejä tai kunnes ensimmäinen välilyönti löytyy.
    (aseta) Vastaa ei-tyhjää merkkijonoa annetusta merkistöstä. Jos on joukon alussa, kaikki merkit, joita ei ole asetettu, vastaavat toisiaan.
    d Vastaa desimaalilukua.
    i Vastaa kokonaislukua.
    o Vastaa allekirjoittamatonta oktaalilukua.
    X tai x Vastaa allekirjoittamatonta heksadesimaalilukua.
    u Vastaa allekirjoittamatonta desimaalilukua.
    A tai a, E tai e, F tai f, G tai g Vastaa liukuluvun lukua.
    n Palauttaa tähän mennessä luettujen merkkien lukumäärän.
    s Vastaa toteutuksen määrittelemää merkkijonoa, joka määrittää osoittimen.

    Joten muodon määrittelijän yleinen muoto on:
     % (*) (leveys) (pituus) määrittelijä
  • …: Muita lisäväitteitä tietojen vastaanottamiseksi. Ne esiintyvät järjestyksessä muodon määrittelijän mukaan.

wscanf () Palautusarvo

  • Wscanf () -funktio palauttaa onnistuneesti määritettyjen vastaanottavien argumenttien määrän.
  • Jos vika tapahtuu ennen kuin ensimmäinen vastaanottava argumentti on osoitettu, EOF palautetaan.

Esimerkki: Kuinka wscanf () -toiminto toimii?

 #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; )

Kun suoritat ohjelmaa, mahdollinen tulos on:

 Kirjoita leveä merkki: ∭ ∭ ei ole aakkosnumeerinen.

Mielenkiintoisia artikkeleita...