文件io
文件io和标准io的区别:
1.标准io是库函数,是对系统调用的封装
2.文件io是系统的调用,是Linux内核中的函数接口
3.标准io是有缓存的
4.文件io是没有缓存的
操作步骤
打开->读写->关闭
打开文件:open
功能:打开文件,获得文件描述符(很小的非负正数),文件描述符可以代表文件,新生成的
文件描述符总为尚未使用的最小非负整数----一般从3开始:012为stdin.stdout.stderr占 用
open(a,flags):对a进行只读只写等操作
open(a,flags,c):以c权限对a进行只读只写等操作
进行多重操作:open(a,flags | flags)
权限:rwxrwxrwx(rw-rw-r),有则为1,无为0,将其转化为10进制,替代c
flags:标志位
O_RDONLY:只读
O_WRONLY:只写
O_RDWR:读写
O_APPEND:追加
O_CREAT:文件不存在则创建
O_TRUNC:文件存在则清空
关闭文件:close
close(文件描述符)
读写:read/write
write(a,b,c)
功能:向文件描述符a对应的文件中写入b指向的文件中的c个字节的文件
返回值:成功则返回c,失败返回-1
read(a,b,c)
功能:从文件描述符a对应的文件中读到b指向的地址,读c的大小。
头文件:
#include<sys/stat.h>
#include<sys/types.h>
#include<fcntl.h>
#include<unistd.h>