Linux I/O之标准I/O

1 I/0操作分类
标准I/O和文件I/O;

2 I/O操作的对象
文件

3 文件的属性
文件类型;文件名称;文件路径。

4 文件类型
常规文件 r;
目录文件 d;
字符设备文件 c;
块设备文件 b;
管道文件 p;
套接字文件 s;
符号链接文件 l;

5 标准I/O
5.1 定义
标准I/O中的标准就是C语言标准(ANSI C),标准I/O就是C语言标准I/O库中定义的输入输出函数(API)。
5.2 使用标准I/O的前提
标准C库的存在。
5.3 标准I/O的优点
标准I/O通过缓冲机制减少系统调用次数,以实现更高的效率。

6 标准I/O-流(FILE)
6.1 定义
标准I/O用一个结构体类型来存放打开的文件的相关信息,标准I/O的所有操作都是围绕这个结构体类型进行的,这个结构体类型称之为流(stream),也叫FILE。
6.2 分类
文本流和二进制流。
1、indows下区分二进制和文本流:
二进制流: 换行符   ‘\n’
文本流: 换行符   ‘\r’ ‘\n’
2、在Linux下不区分二进制和文本流。
6.3 FILE结构体解析
1、定义(其中一种定义)
struct _iobuf {
char *_ptr; //文件输入的下一个位置
int _cnt; //当前缓冲区的相对位置
char *_base; //指基础位置(应该是文件的其始位置)
int _flag; //文件标志
int _file; //文件的有效性验证
int _charbuf; //检查缓冲区状况,如果无缓冲区则不读取
int _bufsiz; //文件的大小
char *_tmpfname;//临时文件名
};
typedef struct _iobuf FILE;
2、一句话概括FILE结构体
FILE结构体就是文件在程序中的“代表”。

7 标准I/O-流的缓冲类型
全缓冲:当流的缓冲区无数据或无空间时才执行实际I/O操作
行缓冲:当在输入和输出中遇到换行符(‘\n’)时, 进行I/O操作。当流和一个终端关联时, 典型的行缓冲
无缓冲:数据直接写入文件, 流不进行缓冲

8 标准I/O – stdin,stdout,stderr
标准I/O预定义3个流, 程序运行时自动打开
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值