![]() |
RT-Thread API参考手册
4.0.3
嵌入式实时操作系统
|
文件和目录操作接口 更多...
函数 | |
| 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) |