How to use vsprintf() function to write formatted data from variable to string in C

1 Answer

0 votes
#include <stdio.h>
#include <stdarg.h>

void WriteError(const char *format, ... )
{
	char buf[128];
	va_list args;
	
	va_start(args, format);
	vsprintf(buf, format, args);
	perror(buf);
	va_end(args);
}
   
int main(void)
{
	char filename[] = "d:\\dataaa.txt";
	 
	FILE *fp = fopen(filename, "r");
	if (fp == NULL) 
	{
		perror("Error open file");
		WriteError("Error open '%s'", filename);
		return 1;
	}
	
	fclose(fp);

    return 0;
}

 
/*
run:

Error open file: No such file or directory
Error open 'd:\dataaa.txt': No such file or directory

*/

 



answered May 7, 2016 by avibootz
...