1. 基础IO操作
1.1 c语言的IO接口
fopen:打开一个文件,按照指定方式
参数:filename 文件名,也可以是路径,mode:打开方式
返回打开的文件指针
fread:从指定流中读数据
参数:从FILE对象中读数据,每次读size字节大小的数据,最多读count次,读的数据写在buffer里
返回实际读的数据个数
fwrite:把数据写到指定的流中
参数 :从buffer中读数据,每次读size字节大小的数据,最多读count次,读的数据写在stream里
返回实际写的数据个数
fclose:关闭打开的文件
不同的语言,比如c,c++,java....都有对应的IO接口,语言的底层封装的其实都是操作系统对应的IO接口,在语言层面
好处有:使用方便,学习成本低,一套接口,在不同的操作系统下都可以使用,具有跨平台可移植性
1.2 Linux的IO接口
open:打开文件
参数:pathname 路径名称,flags:标记位,打开方式,mode:文件属性(新建)
flags: 打开文件时,可以传入多个参数选项,用下面的一个或者多个常量进行“或”运算,构成flags。
参数:
- O_RDONLY: 只读打开
- O_WRONLY: 只写打开
- O_RDWR : 读,写打开 这三个常量,必须指定一个且只能指定一个
- O_CREAT : 若文件不存在,则创建它。需要使用mode选项(0666-umask),来指明新文件的访问权限
- O_APPEND: 追加写
- O_TRUNC:清空写
返回值:成功:新打开的文件描述符 失败:-1
读fd文件,写到buf里