A wscanf () függvény a C ++ - ban széles karaktert olvas le a stdin-ből.
A wscanf () függvény a fejlécfájlban van meghatározva.
wscanf () prototípus
int wscanf (const char * formátum,…);
A wscanf () függvény beolvassa az adatokat a stdin-ből, és az értékeket a megfelelő változókba tárolja.
wscanf () Paraméterek
- formátum: Egy nullával végződő karakterlánc mutatója, amely meghatározza a bemenet olvasásának módját. A% kezdetű formátum-specifikátorokból áll.
A formátum karaktersorozat a következő részekkel rendelkezik:- Nem fehér szóköz karakterek, kivéve%, amelyek mindegyike egyforma karaktert emészt fel a bemeneti adatfolyamból. A funkció meghibásodását okozhatja, ha a folyam következő karaktere nem hasonlít egyenlőre.
- Fehér szóköz: Az egymást követő fehér szóköz karaktereket egyetlen szóköz karakterként kezeljük. Ezenkívül a ' n', ' t' és a '' azonosak.
- Konverzió specifikáció: A következő formátumot követi:
- Kezdő% karakter, amely meghatározza a kezdetet
- Opcionális * nevű hozzárendelést elnyomó karakter. Ha ez a karakter jelen van, a wscanf () nem hozzárendeli az eredményt egyetlen fogadó argumentumhoz sem.
- Opcionális pozitív egész szám, amely meghatározza a mező maximális szélességét. Meghatározza a maximális karakterszámot, amelyet a wscanf () használhat az aktuális konverziós specifikáció által meghatározott átalakítás során.
- Opcionális hosszúság-módosító, amely meghatározza a fogadó argumentum méretét.
- Konverziós formátum-specifikátor.
Formátummeghatározó Leírás % Megfelel a szó szerinti% -nak c Egy vagy több karaktert illeszt. Ha a szélesség van megadva, akkor pontosan megegyezik a szélességű karakterekkel. s Megfelel az egymást követő nem fehér szóköz karaktereknek. Ha a szélesség van megadva, akkor pontosan megegyezik a szélességű karakterekkel, vagy addig, amíg az első szóköz nem található. (készlet) A megadott karakterkészlet nem üres karaktersorozata. Ha a halmaz elején van ^, akkor a halmazban nem szereplő összes karakter egyezik. d Tizedes egész számot illeszt. én Megfelel egy egész számnak. o Egyezik az előjel nélküli oktális egész számmal. X vagy x Egyezik az aláíratlan hexadecimális egész számmal. u Egyezik az aláíratlan tizedes egész számmal. A vagy a, E vagy e, F vagy f, G vagy g Megfelel egy lebegőpontos számnak. n Visszaadja az eddig elolvasott karakterek számát. o Megfelel egy megvalósítás által definiált karakterláncnak, amely meghatároz egy mutatót.
Tehát a formátummeghatározó általános formátuma:% (*) (szélesség) (hossz) specifikátor
- …: További további érvek az adatok fogadásához. A formátummeghatározó szerint sorrendben fordulnak elő.
wscanf () Visszatérési érték
- A wscanf () függvény visszaadja a sikeresen hozzárendelt fogadó argumentumok számát.
- Ha az első fogadó argumentum hozzárendelése előtt hiba lép fel, akkor az EOF visszatér.
Példa: Hogyan működik a wscanf () függvény?
#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; )
A program futtatásakor egy lehetséges kimenet lesz:
Írjon be széles karaktert: A ∭ ∭ nem alfanumerikus.