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

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,560 questions

51,419 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
...