字符读写文件流
一. 读/写文件流
根据应用的不同需要,ANSI标准提供了3种类型的 I/O 处理函数,包括字符读/写,行读/写与块读/写函数。本文主要介绍从流种读/写字符相关的函数。
二. 字符读/写文件流
1. 字符读操作
字符读操作是指每次每次标准 I/O 调用只读出流中的一个字符。相关函数如下:
int getc(FILE *stream); //从流中读一个字符
int fgetc(FILE *stream);
而如果期望从标准输入流读入一个字符,可以使用如下函数:(相当于 fgetc(stdin) 的调用)
int getchar(void); //从标准输入设备读一个字符
2. 字符写操作
字符写操作是指每次标准I/O 调用只写一个字符到流中。相关函数如下:
int putc(int c, FILE *stream); //写字符 c 到流 stream 中
int fputc(int c, FILE *stream);
而如果要向标准输出流写一个字符,则可以使用如下函数:(相当于 fputc(c, stdout) 的调用)
int putchar(int c);
三. 计算机的标准输入/标准输出设备
通常对于计算机系统而言,标准输入设备即指的是显示器,标准输出设备即指的是键盘。
在 Linux 系统中,系统默认为每个进程打开了三个文件,即每个进程默认可以操作三个流,即标准输入流(对应文件 /dev/stdin),标准输出流(对应文件 /dev/stdout),标准错误输出流(对应文件 /dev/stderr)。每个进程默认从标准输入流中读数据,向标准输出流写正确的信息,向标准错误输出流写错误信息。
int getchar(void); 该函数即从键盘(标准输入流设备)获取一个字符
int putchar(int c); 该函数即向显示器(标准输出流设备)中输出一个字符。