fprintf()

 fprintf是像printf那样格式化输出到文件,而fwrite是按一个字节块一个字节块的方式写到文件。

一般保存数据用fwrite写到二进制文件中。但为方便有时需要格式化数据到文件,这时才用fprintf,如fprintf(fp, "%.2f %c %d", fTest, cTest, iTest),此时读取就用相应的fread同样方式读出来。

注意:用fprinf时一定要小心,各格式化之间一定要以空格分开数据,否则易使fread读出错误的数据。并且fprintf效率很低,最好用sprintf先把数据按要求写到一个字符数组中,再用fwrite将此字符数组写到文件中

exp:

fprintf (fp,"<%02d/%02d/%02d-%02d:%02d:%02d>", (1900+p->tm_year),(1+p->tm_mon),
            p->tm_mday,p->tm_hour, p->tm_min, p->tm_sec);
     fprintf(fp,"<%s>/n",module,subModule, pcString);

你可能感兴趣的:(fprintf())