#include <stdio.h>
#include <stdarg.h>
void ReadFormattedDataFromFile(FILE *fp, const char * format, ...)
{
va_list args;
va_start(args, format);
vfscanf(fp, format, args);
va_end(args);
}
int main(void)
{
FILE *fp = fopen("d:\\data.txt", "r");
if (fp == NULL)
{
perror("Error open file");
return 1;
}
int n;
char str[32];
ReadFormattedDataFromFile(fp, "%s %d", str, &n);
printf("str = %s n = %d\n", str, n);
char str2[32], str3[32];
ReadFormattedDataFromFile(fp, "%s %d %s %s", str, &n, str2, str3);
printf("str = %s n = %d str2 = %s str3 = %s\n", str, n, str2, str3);
fclose(fp);
return 0;
}
/*
file content:
int: 100
int: 300 string: abcd
*/
/*
run:
str = int: n = 100
str = int: n = 300 str2 = string: str3 = abcd
*/