已经对普通的格式化输入输出函数scanf和printf很熟悉了,格式化文件输入输出函数是在两个函数名前加f,表明“读写对象是磁盘文件而不是键盘和显示器”。
两个函数的原型为:
int fprintf(FILE , const char , …);
int fscanf(FILE , const char , …);
fprintf和fscanf与普通的printf和scanf用法几乎一致,唯一的不同在于多了第一个参数—文件指针,用以标识输入的源文件或输出的目的文件。
当输入输出正确时,两个函数返回正确处理的字符数,当出错或遇到文件尾时,返回EOF(-1)。
格式化I/O:fprintf与fscanf
函数原型:
int fprintf(FILE *fp,const char *format[,argument,…])
int fscanf(FILE *fp,const char *format[,address,…])
功能:按格式对文件进行I/O操作
返值:成功,返回I/O的个数;出错或文件尾,返回EOF
例 fprintf(fp,“%d,%6.2f”,i,t); //将i和t按%d,%6.2f格式输出到fp文件
fscanf(fp,“%d,%f”,&i,&t); //若文件中有3,4.5 ,则将3送入i, 4.5送入t
例 从键盘按格式输入数据存到磁盘文件中去
#include <stdio.h>
main()
{ char s[80],c[80];
int a,b;
FILE *fp;
if((fp=fopen("test","w"))==NULL)
{ puts("can‘t open file"); exit() ; }
fscanf(stdin,"%s%d",s,&a);/*read from keaboard*/
fprintf(fp,"%s %d",s,a);/*write to file*/
fclose(fp);
if((fp=fopen("test","r"))==NULL)
{ puts("can‘t open file"); exit(); }
fscanf(fp,"%s%d",c,&b);/*read from file*/
fprintf(stdout,"%s %d",c,b);/*print to screen*/
fclose(fp);
}
原文:http://blog.csdn.net/liuweidagege/article/details/44758089