文件I/O编程之: 标准I/O编程
次仅读写一个字符。其中字符输入输出函数如表6.21和表6.22所示。
表6.21 字符输出函数语法要点
| 所需头文件 | #include <stdio.h> |
| 函数原型 | int getc(FILE * stream) |
| 函数传入值 | stream:要输入的文件流 |
| 函数返回值 | 成功:下一个字符 |
表6.22 字符输入函数语法要点
| 所需头文件 | #include <stdio.h> |
| 函数原型 | int putc(int c, FILE * stream) |
| 函数返回值 | 成功:字符c |
这几个函数功能类似,其区别仅在于getc()和putc()通常被实现为宏,而fgetc()和fputc()不能实现为宏,因此,函数的实现时间会有所差别。
下面这个实例结合fputc()和fgetc()将标准输入复制到标准输出中去。
/*fput.c*/
#include<stdio.h>
main()
{
int c;
/*把fgetc()的结果作为fputc()的输入*/
fputc(fgetc(stdin), stdout);
}
运行结果如下所示:
$ ./fput
w(用户输入)
w(屏幕输出)
2.行输入输出
行输入输出函数一次操作一行。其中行输入输出函数如表6.23和表6.24所示。
表6.23 行输出函数语法要点
| 所需头文件 | #include <stdio.h> |
| 函数原型 | char * gets(char *s) |
| 函数传入值 | s:要输入的字符串 |
| 函数返回值 | 成功:s |
表6.24 行输入函数语法要点
| 所需头文件 | #include <stdio.h> |
| 函数原型 | int puts(const char *s) |
| 函数传入值 | s:要输出的字符串 |
| 函数返回值 | 成功:s |
这里以gets()和puts()为例进行说明,本实例将标准输入复制到标准输出,如下所示:
/*gets.c*/
#include<stdio.h>
main()
{
char s[80];
/*同上例,把fgets()的结果作为fputs()的输入*/
fputs(fgets(s, 80, stdin), stdout);
}
运行该程序,结果如下所示:
$ ./gets
This is stdin(用户输入)
This is stdin(屏幕输出)
3.格式化输入输出
格式化输入输出函数可以指定输入输出的具体格式,这里有读者已经非常熟悉的printf()、scanf()等函数,这里就简要介绍一下它们的格式,如表6.25~表6.27所示。
表6.25 格式化输出函数1
| 所需头文件 | #include <stdio.h> |
| 函数原型 | int printf(const char *format,…) |
| 函数传入值 | format:记录输出格式 |
| 函数返回值 | 成功:输出字符数(sprintf返回存入数组中的字符数) |
表6.26 格式化输出函数2
| 所需头文件 | #include <stdarg.h> |
| 函数原型 | int vprintf(const char *format, va_list arg) |
| 函数传入值 | format:记录输出格式 |
| 函数返回值 | 成功:存入数组的字符数 |
表6.27 格式化输入函数
| 所需头文件 | #include <stdio.h> |
| 函数原型 | int scanf(const char *format,…) |
I O编程 Linux 函数 fread 操作系统 相关文章:
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE下驱动程序开发基础(二)(11-09)
- VXWORKS内核分析(11-11)
- REDIce-Linux--灵活的实时Linux内核(11-12)
- Linux2.4内核为我们带来了什么?(11-12)
