文件I/O编程之: 标准I/O编程
6.5.2其他操作
文件打开之后,根据一次读写文件中字符的数目可分为字符输入输出、行输入输出和格式化输入输出,下面分别对这3种不同的方式进行讲解。
1.字符输入输出
字符输入输出函数一次仅读写一个字符。其中字符输入输出函数如表6.21和表6.22所示。
表6.21 字符输出函数语法要点
所需头文件 | #includestdio.h> |
函数原型 | intgetc(FILE*stream) |
函数传入值 | stream:要输入的文件流 |
函数返回值 | 成功:下一个字符 |
表6.22 字符输入函数语法要点
所需头文件 | #includestdio.h> |
函数原型 | intputc(intc,FILE*stream) |
函数返回值 | 成功:字符c |
这几个函数功能类似,其区别仅在于getc()和putc()通常被实现为宏,而fgetc()和fputc()不能实现为宏,因此,函数的实现时间会有所差别。
下面这个实例结合fputc()和fgetc()将标准输入复制到标准输出中去。
/*fput.c*/
#includestdio.h>
main()
{
intc;
/*把fgetc()的结果作为fputc()的输入*/
fputc(fgetc(stdin),stdout);
}
运行结果如下所示:
$./fput
w(用户输入)
w(屏幕输出)
2.行输入输出
行输入输出函数一次操作一行。其中行输入输出函数如表6.23和表6.24所示。
表6.23 行输出函数语法要点
所需头文件 | #includestdio.h> |
函数原型 | char*gets(char*s) |
函数传入值 | s:要输入的字符串 |
函数返回值 | 成功:s |
表6.24 行输入函数语法要点
所需头文件 | #includestdio.h> |
函数原型 | intputs(constchar*s) |
函数传入值 | s:要输出的字符串 |
函数返回值 | 成功:s |
这里以gets()和puts()为例进行说明,本实例将标准输入复制到标准输出,如下所示:
/*gets.c*/
#includestdio.h>
main()
{
chars[80];
/*同上例,把fgets()的结果作为fputs()的输入*/
fputs(fgets(s,80,stdin),stdout);
}
运行该程序,结果如下所示:
$./gets
Thisisstdin(用户输入)
Thisisstdin(屏幕输出)
linux操作系统文章专题:linux操作系统详解(linux不再难懂)linux相关文章:linux教程
评论