这是两个以字符(字节)为单位的读/写函数,每次可以从文件中读出或者向文件中写入一个字符。
1.fgetc函数
一般使用形式:
ch=fgetc(fp);
功能:从和文件指针fp关联的文件中输入一个字符到变量ch中。
在从一个文本文件中读入字符时,若读到了文件结束符,fgetc返回值为EOF(EOF是在stdio.h中定义的值为-1的常量)。EOF不是一个可以输出的字符,不能在显示器上输出。但这个方法对于二进制文件不适合,因为读入二进制文件中的一个字节,此字节中的数据有可能是-1。为了解决这一问题,C语言中提供了一个feof函数来判断文件是否结束。feof(fp)可以判断fp所指向的文件是否结束,若文件结束则返回1,否则返回0。feof函数不仅可以判断二进制文件是否结束,也可用于判断文本文件。
2.fputc函数
一般使用形式为:
fputc(ch,fp);
功能:将ch中的字符输出到文件指针fp所指向的文件中。其中ch可以是字符常量或字符变量。(www.xing528.com)
fputc函数的值就是输出到文件中的字符,若该输出不能正确执行,则其值为EOF。
【例10-1】使用fputc和fgetc函数完成文件的复制功能。
假设有一文件在d盘中,其名字为a.txt,其中的内容为hello word,现要将其复制到e盘,名字为b.txt。其复制过程如下:
(1)以读方式打开a.txt,以写方式打开b.txt;
(2)从a.txt中读入一个字符并将读入的字符输出到b.txt中;
(3)重复步骤(2)直至a.txt所有字符处理完(读到EOF)。
程序源代码如下:
程序运行结束后,可以在e盘中找到一个名字为b.txt的文件,打开该文件,其中内容也同样是“hello world”,这样就完成了文件的复制功能。
程序中判断文件结束也可以用feof函数,其用法如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。