UzkiS
发布于 2018-11-21 / 1 阅读
0
0

Linux IO文件编程

基本文件操作

常用头文件

#include
#include
#include //unix std
#include //file control

常用函数

open()

int open(const char *pathname, int flags, int perms); 
所需头文件
#include
#include
    #include
参数名 释义
pathname 被打开的文件名
flags 文件打开方式
perms 存储权限
flags的参数值 释义
O_RDONLY 只读
O_WRONLY 只写
O_RDWR 读写
O_CREAT 创建文件,需要由perms参数指定文件权限
O_EXCL 创建文件,若文件存在则直接打开
O_NOCTTY 若文件为终端,该终端不会成为调用open进程的控制终端
O_TRUNC 若文件存在,删除文件中所有数据并设置大小为0
O_APPEND 打开文件时,将文件指针指向末尾(添加)
perms的参数值 释义
S_I(R/W/X)(USR/GRP/OTH) e.g: S_IRUSER:当前用户具有读权限,也可以设置成数字权限(0777)
结果 返回值
成功 返回文件描述符
失败 -1

close()

int close(int fd);
所需头文件
#include
参数名 释义
fd 文件描述符
结果 返回值
成功 0
失败 -1

read()

ssize_t read(int fd, void *buf, size_t count);
从文件描述符fd所指定的文件中读取count个字节到buf所指缓冲区中
所需头文件
#include
参数名 释义
fd 文件描述符
buf 存储所读出数据的缓冲区
count 指定读出的字节数
结果 返回值
成功 读到的字节数
已到达文件尾 0
失败 -1

write()

ssize_t write(int fd, void *buf, size_t count);
把count个字节从buf中写入文件描述符fd所指的文件中
所需头文件
#include
参数名 释义
fd 文件描述符
buf 包含将要写入的数据的缓冲区
count 指定写入的字节数
结果 返回值
成功 写入的字节数
失败 -1

lseek()

off_t lseek(int fd, off_t offset, int whence);
将文件读写指针相对whence移动offset个字节
所需头文件
#include
#include
参数名 释义
fd 文件描述符
offset 向后移动字节数(偏移量) //负数表示向前移)
whence 当前指针位置
whence的参数值 释义
SEEK_SET 当前位置为文件开头
SEEK_CUR 当前位置为文件指针的位置
SEEK_END 当前位置为文件结尾

评论