新闻中心

EEPW首页>嵌入式系统>设计应用> 文件I/O编程之: 标准I/O编程

文件I/O编程之: 标准I/O编程

作者: 时间:2013-09-13 来源:网络 收藏

本文引用地址://m.amcfsurvey.com/article/257135.htm

6.5.2其他操作

文件打开之后,根据一次读写文件中字符的数目可分为字符输入输出、行输入输出和格式化输入输出,下面分别对这3种不同的方式进行讲解。

1.字符输入输出

字符输入输出一次仅读写一个字符。其中字符输入输出如表6.21和表6.22所示。

表6.21 字符输出语法要点

所需头文件

#includestdio.h>

函数原型

intgetc(FILE*stream)
intfgetc(FILE*stream)
intgetchar(void)

函数传入值

stream:要输入的文件流

函数返回值

成功:下一个字符
失败:EOF

表6.22 字符输入函数语法要点

所需头文件

#includestdio.h>

函数原型

intputc(intc,FILE*stream)
intfputc(intc,FILE*stream)
intputchar(intc)

函数返回值

成功:字符c
失败:EOF

这几个函数功能类似,其区别仅在于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)
charfgets(char*s,intsize,FILE*stream)

函数传入值

s:要输入的字符串
size:输入的字符串长度
stream:对应的文件流

函数返回值

成功:s
失败:NULL

表6.24 行输入函数语法要点

所需头文件

#includestdio.h>

函数原型

intputs(constchar*s)
intfputs(constchar*s,FILE*stream)

函数传入值

s:要输出的字符串
stream:对应的文件流

函数返回值

成功:s
失败:NULL

这里以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教程




评论


相关推荐

技术专区

关闭