自己买服务器建设网站,上海室内设计工作室排名,宁波市鄞州区建设局网站,哈尔滨道里区目录系统调用接口文件描述符一、open二、write三、read四、lseek五、close之前介绍了IO库函数#xff0c;本文主要介绍系统提供的IO接口#xff0c;与IO库函数搭配食用效果更佳。
系统调用接口 常使用的IO系统调用接口如下#xff1a;
接口作用open打开指定的文件write向指…
目录系统调用接口文件描述符一、open二、write三、read四、lseek五、close之前介绍了IO库函数本文主要介绍系统提供的IO接口与IO库函数搭配食用效果更佳。
系统调用接口 常使用的IO系统调用接口如下
接口作用open打开指定的文件write向指定的文件写入数据read从指定的文件读取数据lseek跳转指定文件的读写位置close关闭指定文件
文件描述符 系统调用IO接口的操作离不开文件描述符那么什么是文件描述符 在IO库函数中操作一个文件使用的是文件流指针可以说文件流指针就是文件的操作句柄。操作句柄就是用来操作东西的手柄就像操控电视的遥控器一样。 IO库函数其实就是对IO接口的封装将IO接口中的文件描述符封装后就变成了文件流指针因此文件描述符就是IO接口中文件的操作句柄。
一、open int open(const char *pathname, int flags, mode_t mode) 作用用指定方式打开指定文件
const char *pathname要打开的文件名带路径int flags文件的打开方式mode_t mode文件不存在时创建文件所使用的权限这里要注意文件掩码的问题 返回值成功返回一个非负整数就是文件描述符失败返回-1。 flags选项前三种必须选择一个
O_RDONLY只读O_WRONLY只写O_RDWR可读可写O_CREAT文件不存在就创建O_APPEND写入数据时以追加方式写O_TRUNC打开文件时清空
二、write ssize_t write(int fd, const void *buf, size_t count) 作用向指定文件写入指定大小的数据。
int fd要向哪个文件写入数据就传入哪个文件的文件描述符const void *buf要向文件写入的数据的首地址size_t count要写入的数据的字节长度 返回值成功返回实际写入文件的数据长度失败返回-1
三、read ssize_t read(int fd, void *buf, size_t count) 作用从指定文件读取指定大小的数据。
int fd要从哪个文件读出数据就传入哪个文件的文件描述符void *buf存储读取到的数据的空间首地址size_t count要读取的数据长度以字节为单位 返回值成功返回实际读取到的数据的长度出错返回-1
四、lseek off_t lseek(int fd, off_t offset, int whence) 作用跳转读写位置
int fd文件的操作句柄off_t offset偏移量int whence从哪里开始偏移 返回值成功返回当前跳转后的位置相对于起始位置的偏移量出错返回-1 whence选项
SEEK_SET起始位置SEEK_CUR当前读写位置SEEK_END末尾位置
五、close int close(int fd) 作用关闭文件
int fd要关闭的文件的文件描述符