C ++ wscanf () - C ++ standartinė biblioteka

C ++ funkcija wscanf () nuskaito platus simbolius iš stdin.

Funkcija wscanf () yra apibrėžta antraštės faile.

wscanf () prototipas

 int wscanf (const char * formatas,…);

Funkcija wscanf () nuskaito duomenis iš „stdin“ ir išsaugo reikšmes atitinkamuose kintamuosiuose.

wscanf () parametrai

  • formatas: žymeklis į nulinę simbolių eilutę, nurodančią, kaip skaityti įvestį. Jį sudaro formato specifikatoriai, prasidedantys%.
    Formato eilutę sudaro šios dalys:
    • Ne tarpų simboliai, išskyrus%, kurių kiekvienas sunaudoja vieną identišką simbolį iš įvesties srauto. Tai gali sukelti funkcijos gedimą, jei kitas srauto simbolis nėra lygus.
    • Baltosios erdvės simbolis: visi vienas po kito einantys simboliai yra laikomi atskirais tarpais. Toliau ' n', ' t' ir '' laikomos vienodomis.
    • Konversijos specifikacija: ji pateikiama tokiu formatu:
      • Pradinis% simbolis, nurodantis pradžią
      • Pasirenkamas * vadinamas priskyrimą slopinančiu simboliu. Jei yra šis simbolis, wscanf () nepriskiria rezultato jokiam gaunančiam argumentui.
      • Pasirenkamas teigiamas sveikasis skaičius, nurodantis maksimalų lauko plotį. Jame nurodomas maksimalus simbolių, kuriuos „wscanf“ () leidžiama sunaudoti atliekant dabartinėje konversijos specifikacijoje nurodytą konversiją, skaičius.
      • Pasirenkamas ilgio modifikatorius, nurodantis gaunamo argumento dydį.
      • Konversijos formato specifikatorius.
    Formato specifikatoriai
    Formato specifikatorius apibūdinimas
    % Atitinka pažodinį%
    c Atitinka vieną ar kelis simbolius. Jei apibrėžtas plotis, tiksliai atitinka pločio simbolius.
    s Atitinka vienas po kito einančius simbolius be tarpų. Jei plotis yra apibrėžtas, tiksliai atitinka pločio simbolius arba tol, kol bus rastas pirmasis tarpas.
    (rinkinys) Atitinka ne tuščią simbolių seką iš pateikto simbolių rinkinio. Jei aibės pradžioje yra ^, tada visi nenurodyti simboliai sutampa.
    d Atitinka dešimtainį skaičių.
    i Atitinka sveiką skaičių.
    o Atitinka nepasirašytą aštuonetą.
    X arba x Atitinka nepasirašytą šešioliktainį sveikąjį skaičių.
    u Atitinka nepasirašytą dešimtainį skaičių.
    A arba a, E arba e, F arba f, G arba g Atitinka slankiojo kablelio skaičių.
    n Grąžina iki šiol perskaitytų simbolių skaičių.
    p Atitinka įgyvendinimo apibrėžtą simbolių seką, apibrėžiančią žymeklį.

    Taigi bendras formato specifikatoriaus formatas yra:
     % (*) (plotis) (ilgis) specifikatorius
  • …: Kiti papildomi argumentai norint gauti duomenis. Jie vyksta seka pagal formato specifikatorių.

wscanf () Grąžinimo vertė

  • Funkcija wscanf () pateikia sėkmingų priskirtų priėmimo argumentų skaičių.
  • Jei gedimas įvyksta prieš priskiriant pirmąjį priėmimo argumentą, EOF grąžinamas.

Pavyzdys: Kaip veikia wscanf () funkcija?

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

Kai paleisite programą, galimas rezultatas bus:

 Įveskite platų simbolį: ∭ ∭ nėra raidinis ir skaitmeninis.

Įdomios straipsniai...