This shows you the differences between two versions of the page.
c:stdio.h:vfscanf [2013/02/03 19:11] 127.0.0.1 external edit |
c:stdio.h:vfscanf [2024/02/16 01:05] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== vfscanf ====== | ====== vfscanf ====== | ||
<code c> | <code c> | ||
+ | int vfscanf ( FILE * stream, const char * format, va_list arg ); | ||
</code> | </code> | ||
==== description of vfscanf ==== | ==== description of vfscanf ==== | ||
- | vfscanf is in work by code-reference.com \\ | + | The vscanf(), vfscanf(), and vsscanf() functions shall be equivalent to the scanf(), fscanf(), and sscanf() functions, respectively, except that instead of being called with a variable number of arguments, they are called with an argument list as defined in the <stdarg.h> header. These functions shall not invoke the va_end macro. As these functions invoke the va_arg macro, the value of ap after the return is unspecified. |
- | if you are faster... don't hasitate and add it | + | |
<code c> | <code c> | ||
- | no example at the moment | + | #include <stdio.h> |
+ | #include <stdlib.h> | ||
+ | #include <stdarg.h> | ||
+ | |||
+ | FILE *fp; | ||
+ | |||
+ | int my_vfscanf(char *fmt, ...) | ||
+ | { | ||
+ | va_list argptr; | ||
+ | int cnt; | ||
+ | |||
+ | va_start(argptr, fmt); | ||
+ | cnt = vfscanf(fp, fmt, argptr); | ||
+ | va_end(argptr); | ||
+ | return(cnt); | ||
+ | } | ||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | int inumber = 6; | ||
+ | float fnumber = 7.0; | ||
+ | char string[30] = "hoopy frood"; | ||
+ | |||
+ | fp = tmpfile(); | ||
+ | if (fp == NULL) | ||
+ | { | ||
+ | perror("tmpfile() call"); | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | fprintf(fp,"%d %f %s\n",inumber,fnumber,string); | ||
+ | rewind(fp); | ||
+ | |||
+ | my_vfscanf("%d %f %s", &inumber, &fnumber, string); | ||
+ | printf("%d * %f = %s\n", inumber, fnumber, string); | ||
+ | fclose(fp); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
</code> | </code> | ||
===== output of vfscanf c example ===== | ===== output of vfscanf c example ===== | ||
- | no example at the moment | + | 6 * 7.000000 = hoopy |