fprintf函数和fscanf函数

时间:2023-01-28 08:41:16

1、fscanf函数只能从文本文件中按格式输入。fscanf函数和scanf函数相似,只是输入的对象是磁盘上文本文件中的数据。函数的调用形式如下:fscanf(文件指针,格式控制字符串,输入项表)例如,若文件指针fp已指向一个已打开的文本文件,ab分别为整型变量,则以下语句从fp所指的文件中读入两个整数放入变量ab:fscanf(fp, "%d%d",&a,&b);注意:文件中的两个整数之间用空格(或跳格符、回车符)隔开。语句:fscanfstdin"%d%d",&a,&b);等价于:scanf("%d%d",&a,&b);因为文件名stdin就是代表终端键盘。

 

2、fprintf函数按格式将内存中的数据转换成对应的字符,并以ASC代码形式输出到文本文件中。fprintf函数和printf函数相似,只是输出的内容将按格式存放在磁盘的文本文件中。函数的调用形式如下:fprintf(文件指针,格式控制字符串,输出项表)例如,若文件指针fp已指向一个已打开的文本文件,xy分别为整型变量,则以下语句将把xy两个整型变量中的整数按%d格式输出到fp所指的文件中:fprintffp%d %dxy);注意:为了以后便于读入,两个数之间应当用空格隔开。同时也是为了便于读入,最好不要输出附加的其他字符串。以下语句:fprintfstdout%d %dxy);等价于:printf%d %dxy);因为文件名stdout就是代表终端屏幕。


3、 fprintffscanf函数对磁盘文件读写,使用方便,但由于在输入时要将ASCII码转换为二进制形式,在输出时又要将二进制形式转换为字符,花费时间比较多。因此,在内存与磁盘频繁交换数据的情况下,最好不用fprinffscanf函数,而用freadfwrite