首页 百科知识 文件单字符输入输出函数

文件单字符输入输出函数

时间:2022-10-16 百科知识 版权反馈
【摘要】:如果putc函数操作成功,则返回写入文件字符的ASCII码;若出现错误,则返回EOF,其值定义为1。当getc函数中的文件指针为标准输入流指针stdin时,getc函数的功能与getchar相同;当putc函数中的文件指针为标准输出流指针stdout时,putc函数的功能与putchar相同。使用条件语句,检查输入的命令行参数的个数是否正确。文件是以二进制模式打开的,使用feof函数检查文件是否结束。

9.4.1 文件单字符输入输出函数——getc、putc

getc和putc函数用于从一个打开的文件中读取一个字符或向一个打开的文件写入一个字符。

从文件中读取字符的函数getc的原型为:

  int getc(FILE *fp);

向文件写入字符的函数putc的原型为:

  int putc(int ch,FILE *fp);

其中,fp是由fopen函数打开文件时,返回的文件指针。putc函数的参数ch表示向文件中写入的字符,定义为整型,只使用整型数(用两个字节表示)的低位字节表示字符。

如果putc函数操作成功,则返回写入文件字符的ASCII码;若出现错误,则返回EOF,其值定义为−1。

如果getc函数操作成功,则返回读取文件字符的ASCII码;若出现错误,则返回EOF。当getc函数读到文件结尾时(读取文件结束标记),该函数返回EOF。

getc函数和putc函数与getchar函数和putchar函数的功能基本相同。当getc函数中的文件指针为标准输入流指针stdin时,getc函数的功能与getchar相同;当putc函数中的文件指针为标准输出流指针stdout时,putc函数的功能与putchar相同。实际上,getchar函数、putchar函数可作为getc函数、putc函数的特殊情况,在stdio.h头文件中有关于这四个函数相互关系的定义。

  #define getchar() getc(stdin)

  #define putchar(ch) putc(ch,stdout)

例9-6 使用getc和putc函数将一个磁盘文件的内容按行显示在屏幕上。

img560

程序使用了命令行参数,输入要显示内容的文件名称。使用条件语句,检查输入的命令行参数的个数是否正确。如果文件成功地被打开,while循环从文件中读取字符,并用putc(stdout)显示在屏上,一直读到文件结束标志“EOF”。

经编译链接而成的可执行文件为C9-6.exe,那么,执行下面的命令行:

C:>C9-6 file.cpp

将在屏幕上显示出file.cpp程序的内容。

例9-7 拷贝文件。

img562

img563

文件是以二进制模式打开的,使用feof函数检查文件是否结束。该程序采用命令行方式运行,运行时需要在编译链接后的可执行文件的命令行参数位置上,指出拷贝的文件名和目标文件名。该例子是使用fopen、getc、putc和fclose四个函数联合进行文件处理的一个典型例子。

要将file.cpp拷贝到list file.cpp中,使用命令行:

  C:>copy9-7 file.cpp list file.cpp

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈