1、fscanf函数只能从文本文件中按格式输入。fscanf函数和scanf函数相似,只是输入的对象是磁盘上文本文件中的数据。函数的调用形式如下:fscanf(文件指针,格式控制字符串,输入项表)例如,若文件指针fp已指向一个已打开的文本文件,a、b分别为整型变量,则以下语句从fp所指的文件中读入两个整数放入变量a和b中:fscanf(fp, "%d%d",&a,&b);注意:文件中的两个整数之间用空格(或跳格符、回车符)隔开。语句:fscanf(stdin,"%d%d",&a,&b);等价于:scanf("%d%d",&a,&b);因为文件名stdin就是代表终端键盘。
2、fprintf函数按格式将内存中的数据转换成对应的字符,并以ASCⅡ代码形式输出到文本文件中。fprintf函数和printf函数相似,只是输出的内容将按格式存放在磁盘的文本文件中。函数的调用形式如下:fprintf(文件指针,格式控制字符串,输出项表)例如,若文件指针fp已指向一个已打开的文本文件,x,y分别为整型变量,则以下语句将把x和y两个整型变量中的整数按%d格式输出到fp所指的文件中:fprintf(fp,“%d %d”,x,y);注意:为了以后便于读入,两个数之间应当用空格隔开。同时也是为了便于读入,最好不要输出附加的其他字符串。以下语句:fprintf(stdout,“%d %d”,x,y);等价于:printf(”%d %d”,x,y);因为文件名stdout就是代表终端屏幕。
3、 fprintf和fscanf函数对磁盘文件读写,使用方便,但由于在输入时要将ASCII码转换为二进制形式,在输出时又要将二进制形式转换为字符,花费时间比较多。因此,在内存与磁盘频繁交换数据的情况下,最好不用fprinf和fscanf函数,而用fread和fwrite。