Mega Code Archive

 
Categories / C Tutorial / Stdio h
 

Vscanf, vfscanf, and vsscanf

Item Value Header filestdarg.h stdio.h Declarationint 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;   }