Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Prodentim Probiotics Specially Designed For The Health Of Your Teeth And Gums

Instant Grammar Checker - Correct all grammar errors and enhance your writing

Teach Your Child To Read

Powerful WordPress hosting for WordPress professionals

Disclosure: My content contains affiliate links.

31,089 questions

40,774 answers

573 users

How to use vfscanf() function to read formatted data from file into variable in C

1 Answer

0 votes
#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

*/

 





answered May 7, 2016 by avibootz
...