Funktionen vsscanf () i C ++ används för att läsa data från en strängbuffert.
Funktionen vsscanf () definieras i rubrikfilen.
vsscanf () prototyp
int vsscanf (const char * buffert, const char * format, va_list vlist);
Funktionen vsscanf () läser data från teckensträngbuffertbufferten och lagrar värdena på respektive platser som definieras av vlist.
vsscanf () 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 den här karaktären finns, tilldelar vsscanf () inte resultatet till något mottagande argument.
 - Ett valfritt positivt heltal som anger maximal fältbredd. Den anger det maximala antalet tecken som vsscanf () 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
 - vlist: En lista med argument för att ta emot ingångarna.
 
vsscanf () Returvärde
- Om det lyckas returnerar funktionen vsscanf () antalet lästa argument.
 - Vid fel returneras EOF.
 
Exempel: Hur fungerar funktionen vsscanf ()?
 #include #include void read(const char* buf, const char * format,… ) ( va_list args; va_start (args, format); vsscanf (buf, format, args); va_end (args); ) int main () ( char buffer(100) = "Bruce Wayne Batman"; char fname(20), lname(20), superhero(20); read(buffer, "%s %s %s", fname, lname, superhero); printf("%s %s is %s.", fname, lname, superhero); return 0; )
När du kör programmet blir en möjlig utdata:
Bruce Wayne är Batman.








