vscanf, vfscanf, and vsscanf : vscanf vfscanf vsscanf « stdio.h « C Tutorial






ItemValue
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;
  }








22.41.vscanf vfscanf vsscanf
22.41.1.vscanf, vfscanf, and vsscanf