Item | Value |
Header file | stdarg.h stdio.h |
Declaration | int vscanf(char * restrict format, va_list arg_ptr); int vfscanf(FILE * restrict stream, const char * restrict format,va_list arg_ptr); int vsscanf(char * restrict buf, const char * restrict format, va_list arg_ptr); |
The functions vscanf(), vfscanf(), and vsscanf() are functionally equivalent to
scanf(), fscanf(), and sscanf(), respectively, except that the argument list has been replaced by a pointer to a list of arguments.
This pointer must be of type va_list, which is defined in the header
#include <stdio.h> #include <stdarg.h> void get_message(char *format, ...) { va_list ptr; va_start(ptr, format); vscanf(format, ptr); va_end(ptr); } int main(void) { int i; printf("integer:"); get_message(" %d ", &i); printf("%d", i); return 0; }
22.41.vscanf vfscanf vsscanf | ||||
22.41.1. | vscanf, vfscanf, and vsscanf |