Funkcija wscanf () na C ++ čita širok znak iz stdina.
Funkcija wscanf () definirana je u zaglavnoj datoteci.
prototip wscanf ()
int wscanf (format const char *,…);
Funkcija wscanf () čita podatke iz stdina i pohranjuje vrijednosti u odgovarajuće varijable.
wscanf () parametri
- format: pokazivač na niz znakova završenih nulom koji specificira način čitanja unosa. Sastoji se od specifikatora formata koji počinju s%.
Niz formatiranja ima sljedeće dijelove:- Znakovi koji nisu razmaci, osim% koji 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.
- Razmak: Znakovi razmaka uzastopno tretiraju se kao jedan razmak. Nadalje, ' n', ' t' i '' smatraju se istim.
- Specifikacija pretvorbe: Slijedi sljedeći format:
- Inicijalni% znak koji specificira početak
- Izborni * koji se naziva znak za suzbijanje dodjele. Ako je prisutan ovaj znak, wscanf () ne dodjeljuje rezultat niti jednom argumentu primanja.
- Izborni pozitivni cijeli broj koji specificira maksimalnu širinu polja. Određuje maksimalan broj znakova koji wscanf () smije unijeti prilikom 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:Specifikator% (*) (width) (length)
- …: Ostali dodatni argumenti za primanje podataka. Javljaju se u slijedu prema specifikatoru formata.
wscanf () Povratna vrijednost
- Funkcija wscanf () vraća broj uspješno dodijeljenih argumenata za primanje.
- Ako se neuspjeh dogodi prije nego što je dodijeljen prvi argument primanja, vraća se EOF.
Primjer: Kako funkcionira funkcija wscanf ()?
#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; )
Kada pokrenete program, mogući izlaz bit će:
Unesite širok znak: ∭ not nije alfanumerički.