1.在指定位置打开一个文件 int open(const char *path,int oflag,…);
成功时返回文件描述符,错误EOF
示例 open(“1.txt”,O_WRONLY|O_CREAT|TRUNC,0666)
以只写方式打开1.txt,不存在创建,存在清空
path 文件路径
oflag 打开方式
O_RDONLY 只读方式打开文件
O_WRONLY 可写方式打开文件
O_RDWR 读写方式打开文件
O_CREAT 如果文件不存在,创建文件,用第三个参数设置文件权限
O_EXCL 文件存在,返回错误,用来测试文件是否存在
O_TRUNC 文件已经存在,先删除原有文件数据
O_APPEND 以添加方式打开文件
第三个参数为文件存取权限,用八进制表示法,也可以不写这个参数
文件的权限为 mode &(~umask)
B111 111 111& ~(B 000 010 010) = B 111 101 101
2.关闭文件 int close(int fd);
成功返回0;出错EOF
3.读取文件 ssize_t read(int fd,void *buf,size_t count);
成功时返回实际读取的字节数,如果在调read函数之前已是文件末尾,则返回0,错误EOF
fd 文件描述符
buf 读取的数据保存在缓冲区buf中
count 请求读取的字节数
4.写入文件 ssize_t write(int fd,void *buf,size_t count);
成功时返回实际写入的字节数,出错EOF
write()会把参数buf 所指的内存写入count 个字节到参数fd 所指的文件内
fd 文件描述符
buf 写入的数据保存在缓冲区buf中
count 请求写入的字节数
5.定位文件 off_t lseek(int fd,off_t offset,int whence);
成功返回当前文件读写位置,错误EOF
示例 lseek(int fildes, 0, SEEK_END);
stream 流指针
offset 偏移量,可正可负
whence 基准点 ,参数: SEEK_SET/SEEK_CUR/SEEK_END //开始/当前位置/末尾
SEEK_SET,SEEK_CUR和SEEK_END和依次为0,1和2
目录的先不写了,不知道什么时候用。。。。。。。