[Linux]系统调用IO接口

int open()

int open(const char* pathname,int flags,mode_t mode);

pathname:文件路径名
mode:文件的权限设置,0777(前面的0不能省略);—如果使用了O_CREAT就一定要指定文件权限
flags:标志位

必选其一:O_RDONLY (只读), O_WRONLY (只写), O_RDWR (读写)
可选项:

O_CREAT:文件不存在则创建;
O_EXCL:如果文件已经存在,报错返回;
O_TRUNC:打开文件时清空内容;
O_APPEND:(打开文件时将文件读写位置便宜到文件末尾),将写入设置为追加写入,总是将数据追加在文件末尾。

返回值成功,返回操作句柄–文件描述符–非负整数失败,返回-1.

ssize_t write()

ssize_t write(int fd,const void* buf,size_t count);

功能:向文件写入数据
fd:open返回的操作句柄,用于明确操作的是哪个文件
buf:要写入的数据
count:要写入的数据长度
返回值:成功,返回实际写入的数据长度;失败,返回-1;

ssize_t read()

ssize_t read(int fd, void* buf,size_t count);

功能:读取文件内容

fd:open返回的操作句柄,用于指明操作的是哪个文件
buf:存放读取到的数据的缓冲区
count:要读取的数据长度
返回值:成功,返回实际读取到的数据长度;失败,返回-1;

off_t lseek()

off_t lseek(int fd, off_t offset,int whence);

fd:open返回的操作句柄
offset:偏移量
whence:偏移的相对起始位置:SEEK_STE / SEEK_CUR / SEEK_END;
返回值:成功,返回跳转后的位置相对于文件起始位置的偏移量(若跳到文件末尾,则返回的就是文件的长度);失败返回-1;

int close()

int close(int fd);

关闭文件;
fd:open返回的操作句柄

猜你喜欢

转载自blog.csdn.net/weixin_43962381/article/details/115303927