本文最后更新于 977 天前,其中的信息可能已经有所发展或是发生改变。
基本文件操作
常用头文件
#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) |
close()
int close(int fd);
所需头文件
#include
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 |
指定写入的字节数 |
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 |
当前位置为文件结尾 |