Funkcija vwscanf () v jeziku C ++ se uporablja za branje širokega znakovnega niza iz stdina.
Funkcija vwscanf () je definirana v datoteki glave.
prototip vwscanf ()
int vwscanf (const wchar_t * format, va_list vlist);
Funkcija vwscanf () bere podatke iz stdin in shranjuje vrednosti na ustrezna mesta, kot jih določa vlist.
parametri vwscanf ()
- format: Kazalec na ničelni niz širokega znaka, ki določa način branja vnosa. Sestavljen je iz specifikatorjev formata, ki se začnejo z%.
Niz oblike vsebuje naslednje dele:- Nebeli presledki, razen%, od katerih vsak porabi en enak znak iz vhodnega toka. Funkcija lahko odpove, če se naslednji znak v toku ne primerja enako.
- Presledek: Vsi zaporedni presledki se obravnavajo kot posamezni presledki. Poleg tega se šteje, da ", t" in "" enaki.
- Specifikacija pretvorbe: Sledi naslednji obliki:
- Začetni znak%, ki določa začetek
- Izbirni *, imenovan znak za preprečevanje dodelitve. Če je ta znak prisoten, vwscanf () ne dodeli rezultata nobenemu prejemnemu argumentu.
- Izbirno pozitivno celo število, ki določa največjo širino polja. Določa največje število znakov, ki jih sme vwscanf () porabiti pri pretvorbi, ki jo določa trenutna specifikacija pretvorbe.
- Izbirni modifikator dolžine, ki določa velikost sprejemnega argumenta.
- Specifikator pretvorbenega formata.
Format Specifier Opis % Ujema se z dobesednim% c Ujema se z enim ali več znaki. Če je širina definirana, se natančno ujema s širinami. s Ujema se z zaporednimi znaki, ki niso presledki. Če je širina določena, se natančno ujema s širinskimi znaki ali dokler ne najdemo prvega presledka. (nastavljeno) Ujema se s praznim zaporedjem znakov iz danega nabora znakov. Če je na začetku nabora, se ujemajo vsi znaki, ki niso v naboru. d Ujema se z decimalnim celim številom. jaz Ujema se s celim številom. o Ujema se z nepodpisanim osmiškim številom. X ali x Ujema se s šestnajstiškim neštetim celim številom. u Ujema se z nepodpisanim decimalnim celim številom. A ali a, E ali e, F ali f, G ali g Ujema se s številom s plavajočo vejico. n Vrne število doslej prebranih znakov. str Ujema se z zaporedjem znakov, definiranim z izvedbo, ki definira kazalec.
Tako je splošna oblika specifikatorja oblike:Specifikator% (*) (width) (length)
- vlist: seznam argumentov za prejemanje vhodov.
vwscanf () Vrnjena vrednost
- Če je funkcija vwscanf () uspešna, vrne število uspešno prebranih argumentov.
- V primeru okvare se vrne EOF.
Primer: Kako deluje funkcija vwscanf ()?
#include #include #include void read( const wchar_t* format,… ) ( va_list args; va_start (args, format); vwscanf (format, args); va_end (args); ) int main () ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t name(50); wprintf(L"What is your name? "); read(L" %ls", name); wprintf(L"Hello %ls", name); return 0; )
Ko zaženete program, bo možen izhod:
Kako ti je ime Götz Pozdravljeni Götz