RT-Thread API参考手册
3.1.1
嵌入式实时操作系统
|
文件和目录操作接口 更多...
函数 | |
int | open (const char *file, int flags,...) |
打开文件 更多... | |
int | close (int fd) |
关闭文件 更多... | |
int | read (int fd, void *buf, size_t len) |
读取数据 更多... | |
int | write (int fd, const void *buf, size_t len) |
写入数据 更多... | |
int | rename (const char *old, const char *new) |
重命名 更多... | |
int | unlink (const char *pathname) |
删除文件 更多... | |
int | stat (const char *file, struct stat *buf) |
取得状态 更多... | |
int | fstat (int fildes, struct stat *buf) |
取得文件状态 更多... | |
int | fsync (int fildes) |
同步文件数据到存储设备 更多... | |
int | statfs (const char *path, struct statfs *buf) |
查询文件系统相关信息 更多... | |
int | mkdir (const char *path, mode_t mode) |
创建目录 更多... | |
int | rmdir (const char *pathname) |
删除目录 更多... | |
DIR * | opendir (const char *name) |
打开目录 更多... | |
struct dirent * | readdir (DIR *d) |
读取目录 更多... | |
long | telldir (DIR *d) |
获取目录流的读取位置 更多... | |
void | seekdir (DIR *d, off_t offset) |
设置下次读取目录的位置 更多... | |
void | rewinddir (DIR *d) |
重设目录流的读取位置为开头位置 更多... | |
int | closedir (DIR *d) |
关闭目录 更多... | |
int | access (const char *path, int amode) |
检查文件是否存在 更多... | |
文件和目录操作接口
int open | ( | const char * | file, |
int | flags, | ||
... | |||
) |
打开文件
此函数是POSIX兼容版本,它将打开文件并根据指定的标志返回文件描述符。
file | 打开或创建的文件名 |
flags | 指定打开文件的方式 |
当前支持的打开方式有以下几种:
flags | 描述 |
---|---|
O_RDONLY | 只读方式打开 |
O_WRONLY | 只写方式打开 |
O_RDWR | 以读写方式打开 |
O_CREAT | 如果要打开的文件不存在,则建立该文件 |
O_APPEND | 当读写文件时会从文件尾开始移动,也就是说写入的数据会以附加的方式添加到文件的尾部。 |
O_TRUNC | 如果文件已经存在,则清空文件中的内容 |
int close | ( | int | fd | ) |
int read | ( | int | fd, |
void * | buf, | ||
size_t | len | ||
) |
读取数据
该函数接口会把参数fd 所指的文件的len 个字节读取到buf 指针所指的内存中, 文件的读写位置会随读取到的字节移动。
fd | 文件描述符 |
buf | 读取数据将要写入的缓存地址指针 |
len | 读取文件的字节数 |
int write | ( | int | fd, |
const void * | buf, | ||
size_t | len | ||
) |
写入数据
函数接口会把buf 指针所指向的内存中len 个字节写入到参数fd 所指向的文件内, 文件的读写位置会写入的字节移动。
fd | 文件描述符 |
buf | 预写入数据的地址指针 |
len | 预写入文件的字节数 |
int rename | ( | const char * | old, |
const char * | new | ||
) |
重命名
该函数会将参数old 所指定的文件名称改为参数new 所指的文件名称。若new 所指定的文件已经存在,则该文件将会被覆盖。
old | 旧文件名 |
new | 新文件名 |
int unlink | ( | const char * | pathname | ) |
删除文件
该函数可删除指定目录下的文件。
pathname | 指定删除文件的绝对路径 |
int stat | ( | const char * | file, |
struct stat * | buf | ||
) |
取得状态
调用此函数可获得文件状态。
file | 文件名 |
buf | 结构指针,指向一个存放文件状态信息的结构体 |
int fstat | ( | int | fildes, |
struct stat * | buf | ||
) |
取得文件状态
该函数用来将参数fildes所指的文件状态,复制到参数buf所指的结构中(struct stat)。
fildes | 已打开的文件的文件描述符 |
buf | 结构指针,指向一个存放文件状态信息的结构体 |
int fsync | ( | int | fildes | ) |
同步文件数据到存储设备
该函数可以同步内存中所有已修改的文件数据到储存设备。
fildes | 文件描述符 |
int statfs | ( | const char * | path, |
struct statfs * | buf | ||
) |
查询文件系统相关信息
path | 需要查询信息的文件系统的文件路径名 |
buf | 用于储存文件系统相关信息的结构体指针 |
int mkdir | ( | const char * | path, |
mode_t | mode | ||
) |
创建目录
path | 目录的绝对地址 |
mode | 创建模式,当前未启用,填入默认参数0x777即可。 |
int rmdir | ( | const char * | pathname | ) |
删除目录
pathname | 需要删除目录的绝对路径 |
DIR* opendir | ( | const char * | name | ) |
打开目录
name | 目录的绝对地址 |
struct dirent* readdir | ( | DIR * | d | ) |
读取目录
该函数用来读取目录,每读取一次目录,目录流的指针位置将自动往后递推1个位置。
d | 目录路径名 |
long telldir | ( | DIR * | d | ) |
获取目录流的读取位置
该函数的返回值记录着一个目录流的当前位置,此返回值代表距离目录文件开头的 偏移量,返回值返回下个读取位置。你可以在随后的seekdir() 函数调用中利用这个值 来重置目录扫描到当前位置。也就是说telldir() 函数可以和seekdir() 函数配合使用, 重新设置目录流的读取位置到指定的偏移量。
d | 目录路径名 |
void seekdir | ( | DIR * | d, |
off_t | offset | ||
) |
设置下次读取目录的位置
该函数用来设置参数d目录流目前的读取位置,在调用readdir() 时便从此新位置开始读取。
d | 目录路径名 |
offset | 偏移值,距离本次目录的位移 |
void rewinddir | ( | DIR * | d | ) |
重设目录流的读取位置为开头位置
该函数可以用来设置 d 目录流目前的读取位置为目录流的初始位置。
d | 目录路径名 |
int closedir | ( | DIR * | d | ) |
关闭目录
该函数用来关闭一个目录,该函数必须和opendir() 函数成对使用。
d | 目录路径名 |
int access | ( | const char * | path, |
int | amode | ||
) |
检查文件是否存在
该函数将根据amode中包含的位模式检查由path参数指向的路径名所指定的文件。
path | 指定的文件/目录路径 |
amode | 该值可以是要检查的访问权限(R_OK,W_OK,X_OK)或存在测试(F_OK) |