Borland C++ reference

vscanf

raw OCR

Scans and formats input from stdin.

Defined in header <stdarg.h>

Syntax

#include <stdarg.h>
int vscanf(const char *format, va_list arglist);

Portability

DOSUNIXWindowsANSI CC++ only
■■

Remarks

Available on UNIX system V.

The v...scant functions are known as alternate entry points for the ...scant functions. They behave exactly like their ...scant counterparts, but they accept a pointer to a list of arguments instead of an argument list.

See scant for details

vscanf scans a series of input fields, one character at a time,

on format specifiers,

reading from stdin. Then each field is formatted according to a format specifier passed to vscanf in the format string pointed to by format. Finally, vscanf stores the formatted input at an address passed to it as an argument following/ormaf. There must be the same number of format specifiers and addresses as there are input fields.

vscanf might stop scanning a particular field before it reaches the normal end-of-field (whitespace) character, or it might terminate entirely, for a number of reasons. See scanf for a discussion of possible causes.

Return value

vscanf returns the number of input fields successfully scanned, converted, and stored; the return value does not include scanned fields that were not stored. If no fields were stored, the return value is 0.

If vscanf attempts to read at end-of-file, the return value is EOF.

See also

Example

#include <stdio.h>
#include <conio.h>

int vscnf(char *fmt,  ...)

   va_list argptr;
   int cnt;
   printf ("Enter an integer, a float, and a string (e.g., i,f,s,)\n");
   va_start (argptr, fmt);
   cnt = vscanf (fmt, argptr);
   va_end(argptr) ;
   return (cnt);
}
int main (void)
{
   int inumber;
   float fnumber ;
   char string [80];
   vscnf("%d, %f, %s", &inumber,  &fnumber, string);
   printf("%d%f  %s\n", inumber,  fnumber, string);
   return 0;
}

Differences from modern implementations

Nothing recorded yet.

Modern references

These are search links, not yet checked by hand.