1 标准IO及缓冲区
1.1 标准IO介绍
一切IO皆文件。
1.文件基础
概念:一组相关数据的有序集合
文件类型:常规文件r,目录文件d,字符设备文件c,块设备文件b,管道文件p,套接字文件s,符号链接文件l。
2.UNIX基础知识-系统调用和库函数
系统调用:操作系统提供接口
不同操作系统接口不一样,引出库函数
3.标准IO介绍
标准IO由ANSI C标准定义
主流操作系统上都实现了C库
标准IO通过缓冲机制减少系统调用,实现更高的效率
4.标准IO-流(stream)
FILE:标准IO用一个结构体类型来存放打开的文件的相关信息;标准IO的所有操作都是围绕FILE来进行
流(stream):FILE被称为流,文本流/二进制流
5.流的缓冲类型
全缓冲:当流的缓冲区无数据或无空间时才执行实际IO操作
行缓冲:当在输入和输出遇到换行符’\n’时,进行IO操作;当流和一个终端关联时,典型的行缓冲
无缓冲:数据直接写入文件,流不进行缓冲
6.标准IO预定义3个流,程序运行时自动打开
标准输入流 | 0 | STDIN_FILENO | stdin |
---|---|---|---|
标准输出流 | 1 | STDOUT_FILENO | stdout |
标准错误流 | 2 | STDERR_FILENO | stderr |