标准I/O库
1.流和FILE对象
a) ASCII字符集:一个字符用一个字节表示
b) 国际字符:一个字符可以用多个字节表示
c) 标准I/O文件流可以用于单字节或者多字节字符集
2.流定向
a) 决定所读、写的字符是单字节或者是多字节
b) 流最初创建时无定向
c) 函数
i. int fwide(FILE* fp,int mode) :设置流定向
1. 注意:fwide 并不改变已定向流的定向
ii. fopen():返回指向FILE对象的指针
3.标准输入、标准输出、标准出错
a) <stdio.h>
4.缓冲
a) 目的:减少使用read和write的调用次数
b) 全缓冲:填满标准I/O缓冲区后才进行I/O操作
i. 缓冲区获取:malloc();
c) 行缓冲:当在输入和输出遇到换行符时,标准I/O库执行I/O操作
i. 限制1.只要填满缓冲区,即使还没写一个换行符,也进行I/O操作
ii. 限制2...
d) 不带缓冲:标准IO库不对字符进程缓冲存储
5.编程思路
a) 创建流对象
i. FILE* fp;
b) 打开流文件
i. fopen();
c) 流操作
i. 输入:
1. getc(FILE *fp)
2. fgetc(FILE *fp)
3. int getchar(void)
ii. 输出
1. int putc(int c,FILE *fp)
2. int fputc(int c,FILE *fp)
3. int putchar(int )
iii. 格式化
1. fprintf()
2. ...
d) 关闭流(这一步不能落下,要不会出错)
i. fclose();