来源: 公众号【编程珠玑】 作者: 守望先生 ID: shouwangxiansheng
在《 系统编程-文件IO 》中简单介绍了文件I/O的基本流程,无论选项或者参数多么变化多端,其流程大抵相同,不过是 获取文件描述符,用描述符进行操作,关闭描述符 ,三步而已。那么文件读写又是怎样的流程?需要注意什么?
write/read
在说明这些常见出错之前,就必须先了解其基本用法了。需要注意的是,write/read是不带缓冲的,调用一次,写一次。与fwrite/fread有区别,另外write/read为系统调用, 频繁地系统调用将会增加开销 ,可参考《 库函数和系统调用的区别 》。#include ssize_t read(int fd, void *buf, size_t count);ssize_t write(int fd, const void *buf, size_t count);
参数解释:
- fd 文件描述符,这个应该不用多做解释
- buf 要写入的内容,或者读出内容存储的buf,合适的大小非常关键
- count 读或写的内容大小