Funktionen wscanf () i C ++ läser stort tecken från stdin.
Funktionen wscanf () definieras i rubrikfilen.
wscanf () prototyp
int wscanf (const char * format,…);
Funktionen wscanf () läser data från stdin och lagrar värdena i respektive variabler.
wscanf () Parametrar
- format: pekare till en nollavslutad teckensträng som anger hur ingången ska läsas. Den består av formatspecifikationer som börjar med%.
Formatsträngen har följande delar:- Icke-blankstegstecken utom% som var och en förbrukar ett identiskt tecken från inmatningsströmmen. Det kan få funktionen att misslyckas om nästa tecken i strömmen inte jämför lika.
- Mellanslagstecken: Alla efterföljande blankstegstecken behandlas som enstaka mellanslagstecken. Vidare anses ' n', ' t' och '' vara samma.
- Konverteringsspecifikation: Den följer följande format:
- Initialt% -tecken som anger början
- En valfri * kallad tilldelningsundertryckande karaktär. Om denna karaktär finns, tilldelar wscanf () inte resultatet till något mottagande argument.
- Ett valfritt positivt heltal som anger maximal fältbredd. Den anger det maximala antalet tecken som wscanf () får konsumera när den konvertering utförs som anges i den aktuella konverteringsspecifikationen.
- En valfri längdmodifierare som anger storleken på det mottagande argumentet.
- En konverteringsformatspecifikator.
Format Specifier Beskrivning % Matchar den bokstavliga% c Matchar en enstaka karaktär eller flera tecken. Om bredd definieras matchar den exakt breddtecken. s Matchar på varandra följande icke-blankstegstecken. Om bredd är definierad matchar den exakt breddtecken eller tills första vita utrymmet hittas. (uppsättning) Matchar en icke tom teckenföljd från den givna uppsättningen tecken. Om är närvarande i början av uppsättningen matchas alla tecken som inte finns i uppsättningen. d Matchar ett decimaltal. i Matchar ett heltal. o Matchar ett osignerat oktalt heltal. X eller x Matchar ett osignerat hexadecimalt heltal. u Matchar ett osignerat decimaltal. A eller a, E eller e, F eller f, G eller g Matchar ett flytande nummer. n Returnerar antalet lästa tecken hittills. sid Matchar en implementeringsdefinierad teckensekvens som definierar en pekare.
Så det allmänna formatet för formatspecifikatorn är:% (*) (bredd) (längd) specificerare
- …: Andra ytterligare argument för att ta emot data. De förekommer i en sekvens enligt formatspecifikatorn.
wscanf () Returvärde
- Funktionen wscanf () returnerar antalet mottagningsargument som tilldelats.
- Om fel inträffar innan det första mottagande argumentet tilldelades returneras EOF.
Exempel: Hur fungerar 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; )
När du kör programmet blir en möjlig utdata:
Ange ett stort tecken: ∭ ∭ är inte alfanumeriskt.