awtk/docs/manual/fs_t.md

748 lines
19 KiB
Markdown
Raw Normal View History

2019-10-09 10:16:54 +08:00
## fs\_t
### 概述
2020-05-24 19:28:22 +08:00
文件系统接口。
2019-10-09 10:16:54 +08:00
----------------------------------
2019-11-14 15:54:03 +08:00
### 函数
<p id="fs_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2021-05-11 15:53:22 +08:00
| <a href="#fs_t_dir_exist">dir\_exist</a> | 判断目录是否存在。 |
2019-11-15 11:33:43 +08:00
| <a href="#fs_t_file_exist">file\_exist</a> | 判断文件是否存在。 |
| <a href="#fs_t_file_get_size">file\_get\_size</a> | 获取文件大小。 |
2019-11-15 15:17:05 +08:00
| <a href="#fs_t_file_read">file\_read</a> | 读取文件的全部内容。 |
2019-11-15 11:33:43 +08:00
| <a href="#fs_t_file_read_part">file\_read\_part</a> | 从某个位置读取文件。 |
| <a href="#fs_t_file_remove">file\_remove</a> | 刪除文件。 |
| <a href="#fs_t_file_write">file\_write</a> | 写入文件。 |
2021-01-11 08:23:05 +08:00
| <a href="#fs_t_fs_build_user_storage_file_name">fs\_build\_user\_storage\_file\_name</a> | 生成一个保存数据文件的完整路径的文件名。 |
| <a href="#fs_t_fs_change_dir">fs\_change\_dir</a> | 修改当前目录。 |
2021-05-11 15:53:22 +08:00
| <a href="#fs_t_fs_copy_dir">fs\_copy\_dir</a> | 拷贝目录。 |
2022-12-05 12:10:53 +08:00
| <a href="#fs_t_fs_copy_dir_ex">fs\_copy\_dir\_ex</a> | 拷贝目录。 |
2021-05-11 15:53:22 +08:00
| <a href="#fs_t_fs_copy_file">fs\_copy\_file</a> | 拷贝文件。 |
2020-01-06 17:18:47 +08:00
| <a href="#fs_t_fs_create_dir">fs\_create\_dir</a> | 创建目录。 |
2021-01-11 08:23:05 +08:00
| <a href="#fs_t_fs_create_dir_r">fs\_create\_dir\_r</a> | 递归创建目录。 |
2019-11-15 11:33:43 +08:00
| <a href="#fs_t_fs_dir_exist">fs\_dir\_exist</a> | 判断目录是否存在。 |
2022-12-05 12:10:53 +08:00
| <a href="#fs_t_fs_dir_is_empty">fs\_dir\_is\_empty</a> | 判断目录是否为空。 |
2019-11-15 11:33:43 +08:00
| <a href="#fs_t_fs_dir_rename">fs\_dir\_rename</a> | 目录重命名。 |
2023-12-26 19:09:36 +08:00
| <a href="#fs_t_fs_file_equal">fs\_file\_equal</a> | 比较二进制文件。 |
2019-11-15 11:33:43 +08:00
| <a href="#fs_t_fs_file_exist">fs\_file\_exist</a> | 判断文件是否存在。 |
| <a href="#fs_t_fs_file_rename">fs\_file\_rename</a> | 文件重命名。 |
2022-04-22 18:59:41 +08:00
| <a href="#fs_t_fs_foreach_file">fs\_foreach\_file</a> | 遍历指定目录下全部常规文件。 |
2019-11-15 11:33:43 +08:00
| <a href="#fs_t_fs_get_cwd">fs\_get\_cwd</a> | 获取当前所在目录。 |
2020-02-14 17:58:18 +08:00
| <a href="#fs_t_fs_get_disk_info">fs\_get\_disk\_info</a> | 获取文件系统信息。 |
2019-11-15 11:33:43 +08:00
| <a href="#fs_t_fs_get_exe">fs\_get\_exe</a> | 获取可执行文件所在目录。 |
| <a href="#fs_t_fs_get_file_size">fs\_get\_file\_size</a> | 获取文件大小。 |
2021-01-11 08:23:05 +08:00
| <a href="#fs_t_fs_get_temp_path">fs\_get\_temp\_path</a> | 获取临时目录。 |
2020-04-07 09:44:59 +08:00
| <a href="#fs_t_fs_get_user_storage_path">fs\_get\_user\_storage\_path</a> | 获取home目录或者应用程序可以写入数据的目录。 |
2019-11-15 11:33:43 +08:00
| <a href="#fs_t_fs_open_dir">fs\_open\_dir</a> | 打开目录。 |
| <a href="#fs_t_fs_open_file">fs\_open\_file</a> | 打开文件。 |
| <a href="#fs_t_fs_remove_dir">fs\_remove\_dir</a> | 刪除目录。 |
2021-01-11 08:23:05 +08:00
| <a href="#fs_t_fs_remove_dir_r">fs\_remove\_dir\_r</a> | 递归刪除目录。 |
2019-11-15 11:33:43 +08:00
| <a href="#fs_t_fs_remove_file">fs\_remove\_file</a> | 刪除文件。 |
2020-01-06 17:18:47 +08:00
| <a href="#fs_t_fs_stat">fs\_stat</a> | 获取文件信息。 |
2019-11-14 15:54:03 +08:00
| <a href="#fs_t_os_fs">os\_fs</a> | 获取缺省的文件系统对象。 |
2021-05-11 15:53:22 +08:00
#### dir\_exist 函数
-----------------------
* 函数功能:
> <p id="fs_t_dir_exist">判断目录是否存在。
* 函数原型:
```
bool_t dir_exist (const char* name);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回TRUE表示成功否则表示失败。 |
| name | const char* | 目录名。 |
2019-11-14 15:54:03 +08:00
#### file\_exist 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_file_exist">判断文件是否存在。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2019-11-15 15:21:53 +08:00
bool_t file_exist (const char* name);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2019-11-15 15:21:53 +08:00
| 返回值 | bool\_t | 返回TRUE表示成功否则表示失败。 |
2019-11-14 15:54:03 +08:00
| name | const char* | 文件名。 |
#### file\_get\_size 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_file_get_size">获取文件大小。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2019-11-15 15:17:05 +08:00
int32_t file_get_size (const char* name);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2019-11-15 15:17:05 +08:00
| 返回值 | int32\_t | 返回非负表示文件大小,否则表示失败。 |
2019-11-14 15:54:03 +08:00
| name | const char* | 文件名。 |
#### file\_read 函数
-----------------------
* 函数功能:
2019-11-15 15:17:05 +08:00
> <p id="fs_t_file_read">读取文件的全部内容。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2019-11-15 15:17:05 +08:00
void* file_read (const char* name, uint32_t* size);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2019-11-15 15:17:05 +08:00
| 返回值 | void* | 返回读取的数据需要调用TKMEM\_FREE释放。 |
2019-11-14 15:54:03 +08:00
| name | const char* | 文件名。 |
2019-11-15 15:17:05 +08:00
| size | uint32\_t* | 返回实际读取的长度。 |
2019-11-14 15:54:03 +08:00
#### file\_read\_part 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_file_read_part">从某个位置读取文件。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
int32_t file_read_part (const char* name, void* buff, uint32_t size, uint32_t offset);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2019-11-15 15:17:05 +08:00
| 返回值 | int32\_t | 返回实际读取的字节数。 |
2019-11-14 15:54:03 +08:00
| name | const char* | 文件名。 |
2023-06-29 10:44:29 +08:00
| buff | void* | 数据缓冲区。 |
2019-11-14 15:54:03 +08:00
| size | uint32\_t | 数据长度。 |
| offset | uint32\_t | 偏移量。 |
#### file\_remove 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_file_remove">刪除文件。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
ret_t file_remove (const char* name);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| name | const char* | 文件名。 |
#### file\_write 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_file_write">写入文件。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
ret_t file_write (const char* name, const void* buff, uint32_t size);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2019-11-15 15:21:53 +08:00
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2019-11-14 15:54:03 +08:00
| name | const char* | 文件名。 |
2023-06-29 10:44:29 +08:00
| buff | const void* | 数据缓冲区。 |
2019-11-14 15:54:03 +08:00
| size | uint32\_t | 数据长度。 |
2021-01-11 08:23:05 +08:00
#### fs\_build\_user\_storage\_file\_name 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_build_user_storage_file_name">生成一个保存数据文件的完整路径的文件名。
* 函数原型:
```
ret_t fs_build_user_storage_file_name (char* filename, const char* appname, const char* name);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| filename | char* | 用于返回完整路径的文件名。 |
| appname | const char* | 应用程序的名称。 |
| name | const char* | 文件名(不包括路径)。 |
#### fs\_change\_dir 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_change_dir">修改当前目录。
* 函数原型:
```
ret_t fs_change_dir (fs_t* fs, const char* name);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 目录名称。 |
2021-05-11 15:53:22 +08:00
#### fs\_copy\_dir 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_copy_dir">拷贝目录。
* 函数原型:
```
ret_t fs_copy_dir (fs_t* fs, const char* src, const char* dst);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| src | const char* | 源目录。 |
| dst | const char* | 目标目录。 |
2022-12-05 12:10:53 +08:00
#### fs\_copy\_dir\_ex 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_copy_dir_ex">拷贝目录。
* 函数原型:
```
ret_t fs_copy_dir_ex (fs_t* fs, const char* src, const char* dst, bool_t overwrite);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| src | const char* | 源目录。 |
| dst | const char* | 目标目录。 |
| overwrite | bool\_t | 是否覆盖。 |
2021-05-11 15:53:22 +08:00
#### fs\_copy\_file 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_copy_file">拷贝文件。
* 函数原型:
```
ret_t fs_copy_file (fs_t* fs, const char* src, const char* dst);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| src | const char* | 源文件名。 |
| dst | const char* | 目标文件名。 |
2020-01-06 17:18:47 +08:00
#### fs\_create\_dir 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_create_dir">创建目录。
* 函数原型:
```
ret_t fs_create_dir (fs_t* fs, const char* name);
```
* 参数说明:
2021-01-11 08:23:05 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 目录名称。 |
#### fs\_create\_dir\_r 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_create_dir_r">递归创建目录。
* 函数原型:
```
ret_t fs_create_dir_r (fs_t* fs, const char* name);
```
* 参数说明:
2020-01-06 17:18:47 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 目录名称。 |
2019-11-14 15:54:03 +08:00
#### fs\_dir\_exist 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_dir_exist">判断目录是否存在。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2019-11-15 15:21:53 +08:00
bool_t fs_dir_exist (fs_t* fs, const char* name);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2019-11-15 15:28:02 +08:00
| 返回值 | bool\_t | 返回TRUE表示存在否则表示不存在。 |
2019-11-14 15:54:03 +08:00
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 目录名称。 |
2022-12-05 12:10:53 +08:00
#### fs\_dir\_is\_empty 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_dir_is_empty">判断目录是否为空。
* 函数原型:
```
bool_t fs_dir_is_empty (fs_t* fs, const char* name);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回TRUE表示目录为空否则表示目录不为空。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 目录名称。 |
2019-11-14 15:54:03 +08:00
#### fs\_dir\_rename 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_dir_rename">目录重命名。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
ret_t fs_dir_rename (fs_t* fs, const char* name, const char* new_name);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2020-05-24 19:28:22 +08:00
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2019-11-14 15:54:03 +08:00
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 旧目录名称。 |
| new\_name | const char* | 新目录名称。 |
2023-12-26 19:09:36 +08:00
#### fs\_file\_equal 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_file_equal">比较二进制文件。
* 函数原型:
```
bool_t fs_file_equal (fs_t* fs, const char* src, const char* dst);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回TRUE表示相同否则表示不同。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| src | const char* | 源文件名。 |
| dst | const char* | 目标文件名。 |
2019-11-14 15:54:03 +08:00
#### fs\_file\_exist 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_file_exist">判断文件是否存在。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2019-11-15 15:21:53 +08:00
bool_t fs_file_exist (fs_t* fs, const char* name);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2019-11-15 15:28:02 +08:00
| 返回值 | bool\_t | 返回TRUE表示存在否则表示不存在。 |
2019-11-14 15:54:03 +08:00
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 文件名。 |
#### fs\_file\_rename 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_file_rename">文件重命名。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
ret_t fs_file_rename (fs_t* fs, const char* name, const char* new_name);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2020-05-24 19:28:22 +08:00
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2019-11-14 15:54:03 +08:00
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 旧文件名。 |
| new\_name | const char* | 新文件名。 |
2022-04-22 18:59:41 +08:00
#### fs\_foreach\_file 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_foreach_file">遍历指定目录下全部常规文件。
示例:
```c
static ret_t on_file(void* ctx, const void* data) {
const char* filename = (const char*)data;
const char* extname = (const char*)ctx;
if (tk_str_end_with(filename, extname)) {
log_debug("%s\n", filename);
}
return RET_OK;
}
...
fs_foreach_file("tests/testdata", on_file, (void*)".json");
```
* 函数原型:
```
2023-06-29 10:44:29 +08:00
ret_t fs_foreach_file (const char* path, tk_visit_t on_file, void* ctx);
2022-04-22 18:59:41 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2023-06-29 10:44:29 +08:00
| 返回值 | ret\_t | 返回TRUE表示成功否则表示失败。 |
2022-04-22 18:59:41 +08:00
| path | const char* | 目录。 |
| on\_file | tk\_visit\_t | 回调函数(完整文件名通过data参数传入)。 |
| ctx | void* | 回调函数上下文。 |
2019-11-14 15:54:03 +08:00
#### fs\_get\_cwd 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_get_cwd">获取当前所在目录。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
ret_t fs_get_cwd (fs_t* fs, char* path);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| path | char* | 保存当前所在目录的路径。 |
2020-02-14 17:58:18 +08:00
#### fs\_get\_disk\_info 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_get_disk_info">获取文件系统信息。
* 函数原型:
```
2023-06-29 10:44:29 +08:00
ret_t fs_get_disk_info (fs_t* fs, const char* volume, int32_t* free_kb, int32_t* total_kb);
2020-02-14 17:58:18 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回不是-1表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
2023-06-29 10:44:29 +08:00
| volume | const char* | 卷名。 |
2020-02-14 17:58:18 +08:00
| free\_kb | int32\_t* | 用于返回空闲空间大小(KB) |
| total\_kb | int32\_t* | 用于返回总共空间大小(KB) |
2019-11-14 15:54:03 +08:00
#### fs\_get\_exe 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_get_exe">获取可执行文件所在目录。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
ret_t fs_get_exe (fs_t* fs, char* path);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| path | char* | 保存可执行文件的路径。 |
#### fs\_get\_file\_size 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_get_file_size">获取文件大小。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
int32_t fs_get_file_size (fs_t* fs, const char* name);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2023-06-29 10:44:29 +08:00
| 返回值 | int32\_t | 返回不是-1表示成功否则表示失败。 |
2019-11-14 15:54:03 +08:00
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 文件名。 |
2021-01-11 08:23:05 +08:00
#### fs\_get\_temp\_path 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_get_temp_path">获取临时目录。
* 函数原型:
```
ret_t fs_get_temp_path (fs_t* fs, char* path);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| path | char* | 保存路径。 |
2020-04-07 09:44:59 +08:00
#### fs\_get\_user\_storage\_path 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_get_user_storage_path">获取home目录或者应用程序可以写入数据的目录。
* 函数原型:
```
ret_t fs_get_user_storage_path (fs_t* fs, char* path);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| path | char* | 保存路径。 |
2019-11-14 15:54:03 +08:00
#### fs\_open\_dir 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_open_dir">打开目录。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
fs_dir_t* fs_open_dir (fs_t* fs, const char* name);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2023-06-29 10:44:29 +08:00
| 返回值 | fs\_dir\_t* | 返回非NULL表示成功否则表示失败。 |
2019-11-14 15:54:03 +08:00
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 目录名称。 |
#### fs\_open\_file 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_open_file">打开文件。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
fs_file_t* fs_open_file (fs_t* fs, const char* name, const char* mode);
2019-11-14 15:54:03 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2023-06-29 10:44:29 +08:00
| 返回值 | fs\_file\_t* | 返回非NULL表示成功否则表示失败。 |
2019-11-14 15:54:03 +08:00
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 文件名。 |
2020-05-24 19:28:22 +08:00
| mode | const char* | 打开方式取值请参考POSIX的[fopen函数](https://www.runoob.com/cprogramming/c-function-fopen.html)相应的参数。 |
2019-11-14 15:54:03 +08:00
#### fs\_remove\_dir 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_remove_dir">刪除目录。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
ret_t fs_remove_dir (fs_t* fs, const char* name);
```
* 参数说明:
2021-01-11 08:23:05 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 目录名称。 |
#### fs\_remove\_dir\_r 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_remove_dir_r">递归刪除目录。
* 函数原型:
```
ret_t fs_remove_dir_r (fs_t* fs, const char* name);
```
* 参数说明:
2019-11-14 15:54:03 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 目录名称。 |
#### fs\_remove\_file 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_fs_remove_file">刪除文件。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
ret_t fs_remove_file (fs_t* fs, const char* name);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 文件名。 |
2020-01-06 17:18:47 +08:00
#### fs\_stat 函数
-----------------------
* 函数功能:
> <p id="fs_t_fs_stat">获取文件信息。
* 函数原型:
```
ret_t fs_stat (fs_t* fs, const char* name, fs_stat_info_t* fst);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| fs | fs\_t* | 文件系统对象一般赋值为os\_fs()。 |
| name | const char* | 文件名。 |
| fst | fs\_stat\_info\_t* | 文件状态信息。 |
2019-11-14 15:54:03 +08:00
#### os\_fs 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="fs_t_os_fs">获取缺省的文件系统对象。
2019-11-14 15:54:03 +08:00
* 函数原型:
```
fs_t* os_fs ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | fs\_t* | 返回文件系统对象。 |