1.操作方式:
1.打开文件 open
2.读写文件 read/write
3.关闭文件 close
2.man手册章节:
1.标准命令
2.系统调用
3.库函数
4.设备说明
5.文件格式
6.娱乐
7.杂项
8.管理员命令
3.函数接口使用:
man 2 open
1.open
int open(const char *pathname, int flags);
int open(const char *pathname, int flag, mode_t mode);
功能:
pathname:要打开文件的路径
flags:打开的方式
O_RDONLY 只读
O_WRONLY 只写
O_RDWR 读写
O_APPEND 追加
O_ASYNC 异步IO
O_CREAT 创建
O_EXCL 检测文件是否存在
O_NONBLOCK 非阻塞IO
O_TRUNC 截断(清0)
返回值:
成功返回文件描述符
失败返回-1
文件描述符范围:0 - 1023
0:stdin 标准输入
1:stdout 标准输出
2:stderr 标准出错
文件描述符产生规律:
1.范围0 - 1023
2.总是取尚未被占用的最小的非负整数
2.close
int close(in fd)
功能:
关闭文件描述符
3.write
ssize_t read(int fd, void *buf, size_t count)
功能:
向文件中写入数据
参数:
fd:文件描述符
buf:写入数据的存放的空间的首地址
count:实际写入的字节数
返回值:
成功返回实际写入的字节数
失败返回-1
4.read
ssize_t read(int fd, void *buf, size_t count)
功能:
从文件中读取数据
参数:
fd:文件描述符
buf:存放数据空间首地址
count:想要读取的数据字节数
返回值:
成功返回实际读取到的字节数
失败返回-1
读到文件末尾返回0
文件IO和标准IO的区别:
1.系统调用:
Linux内核中的代码称为系统调用
2.库函数:
是针对操作系统内核中代码的封装
3.区别:
1.标准IO是库函数,在Linux和Windows平台均能使用
2.文件IO是系统调用,只有在Linux内核平台中才能使用
3.标准IO是一种有缓存的IO
4.文件IO是没有缓存的IO
4.标准IO应用场景:
主要用来操作普通文件
5.文件IO应用场景
主要用来操作设备文件以及除普通文件外其余类型的文件