# fs_t
# 概述
文件系统接口。
# 函数
函数名称 | 说明 |
---|---|
dir_exist | 判断目录是否存在。 |
file_exist | 判断文件是否存在。 |
file_get_size | 获取文件大小。 |
file_read | 读取文件的全部内容。 |
file_read_part | 从某个位置读取文件。 |
file_remove | 刪除文件。 |
file_write | 写入文件。 |
fs_build_user_storage_file_name | 生成一个保存数据文件的完整路径的文件名。 |
fs_change_dir | 修改当前目录。 |
fs_copy_dir | 拷贝目录。 |
fs_copy_dir_ex | 拷贝目录。 |
fs_copy_file | 拷贝文件。 |
fs_create_dir | 创建目录。 |
fs_create_dir_r | 递归创建目录。 |
fs_dir_exist | 判断目录是否存在。 |
fs_dir_is_empty | 判断目录是否为空。 |
fs_dir_rename | 目录重命名。 |
fs_file_exist | 判断文件是否存在。 |
fs_file_rename | 文件重命名。 |
fs_foreach_file | 遍历指定目录下全部常规文件。 |
fs_get_cwd | 获取当前所在目录。 |
fs_get_disk_info | 获取文件系统信息。 |
fs_get_exe | 获取可执行文件所在目录。 |
fs_get_file_size | 获取文件大小。 |
fs_get_temp_path | 获取临时目录。 |
fs_get_user_storage_path | 获取home目录或者应用程序可以写入数据的目录。 |
fs_open_dir | 打开目录。 |
fs_open_file | 打开文件。 |
fs_remove_dir | 刪除目录。 |
fs_remove_dir_r | 递归刪除目录。 |
fs_remove_file | 刪除文件。 |
fs_stat | 获取文件信息。 |
os_fs | 获取缺省的文件系统对象。 |
# dir_exist 函数
- 函数功能:
判断目录是否存在。
- 函数原型:
bool_t dir_exist (const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | bool_t | 返回TRUE表示成功,否则表示失败。 |
name | const char* | 目录名。 |
# file_exist 函数
- 函数功能:
判断文件是否存在。
- 函数原型:
bool_t file_exist (const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | bool_t | 返回TRUE表示成功,否则表示失败。 |
name | const char* | 文件名。 |
# file_get_size 函数
- 函数功能:
获取文件大小。
- 函数原型:
int32_t file_get_size (const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | int32_t | 返回非负表示文件大小,否则表示失败。 |
name | const char* | 文件名。 |
# file_read 函数
- 函数功能:
读取文件的全部内容。
- 函数原型:
void* file_read (const char* name, uint32_t* size);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | void* | 返回读取的数据,需要调用TKMEM_FREE释放。 |
name | const char* | 文件名。 |
size | uint32_t* | 返回实际读取的长度。 |
# file_read_part 函数
- 函数功能:
从某个位置读取文件。
- 函数原型:
int32_t file_read_part (const char* name, void* buff, uint32_t size, uint32_t offset);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | int32_t | 返回实际读取的字节数。 |
name | const char* | 文件名。 |
buff | void* | 数据缓冲区。 |
size | uint32_t | 数据长度。 |
offset | uint32_t | 偏移量。 |
# file_remove 函数
- 函数功能:
刪除文件。
- 函数原型:
ret_t file_remove (const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
name | const char* | 文件名。 |
# file_write 函数
- 函数功能:
写入文件。
- 函数原型:
ret_t file_write (const char* name, const void* buff, uint32_t size);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
name | const char* | 文件名。 |
buff | const void* | 数据缓冲区。 |
size | uint32_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 函数
- 函数功能:
修改当前目录。
- 函数原型:
ret_t fs_change_dir (fs_t* fs, const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 目录名称。 |
# 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* | 目标目录。 |
# 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 | 是否覆盖。 |
# 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* | 目标文件名。 |
# fs_create_dir 函数
- 函数功能:
创建目录。
- 函数原型:
ret_t fs_create_dir (fs_t* fs, const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 目录名称。 |
# fs_create_dir_r 函数
- 函数功能:
递归创建目录。
- 函数原型:
ret_t fs_create_dir_r (fs_t* fs, const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 目录名称。 |
# fs_dir_exist 函数
- 函数功能:
判断目录是否存在。
- 函数原型:
bool_t fs_dir_exist (fs_t* fs, const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | bool_t | 返回TRUE表示存在,否则表示不存在。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 目录名称。 |
# 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* | 目录名称。 |
# fs_dir_rename 函数
- 函数功能:
目录重命名。
- 函数原型:
ret_t fs_dir_rename (fs_t* fs, const char* name, const char* new_name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 旧目录名称。 |
new_name | const char* | 新目录名称。 |
# fs_file_exist 函数
- 函数功能:
判断文件是否存在。
- 函数原型:
bool_t fs_file_exist (fs_t* fs, const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | bool_t | 返回TRUE表示存在,否则表示不存在。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 文件名。 |
# fs_file_rename 函数
- 函数功能:
文件重命名。
- 函数原型:
ret_t fs_file_rename (fs_t* fs, const char* name, const char* new_name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 旧文件名。 |
new_name | const char* | 新文件名。 |
# fs_foreach_file 函数
- 函数功能:
遍历指定目录下全部常规文件。 示例:
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");
- 函数原型:
ret_t fs_foreach_file (const char* path, tk_visit_t on_file, void* ctx);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回TRUE表示成功,否则表示失败。 |
path | const char* | 目录。 |
on_file | tk_visit_t | 回调函数(完整文件名通过data参数传入)。 |
ctx | void* | 回调函数上下文。 |
# fs_get_cwd 函数
- 函数功能:
获取当前所在目录。
- 函数原型:
ret_t fs_get_cwd (fs_t* fs, char* path);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
path | char* | 保存当前所在目录的路径。 |
# fs_get_disk_info 函数
- 函数功能:
获取文件系统信息。
- 函数原型:
ret_t fs_get_disk_info (fs_t* fs, const char* volume, int32_t* free_kb, int32_t* total_kb);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回不是-1表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
volume | const char* | 卷名。 |
free_kb | int32_t* | 用于返回空闲空间大小(KB) |
total_kb | int32_t* | 用于返回总共空间大小(KB) |
# fs_get_exe 函数
- 函数功能:
获取可执行文件所在目录。
- 函数原型:
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 函数
- 函数功能:
获取文件大小。
- 函数原型:
int32_t fs_get_file_size (fs_t* fs, const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | int32_t | 返回不是-1表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 文件名。 |
# 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* | 保存路径。 |
# 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* | 保存路径。 |
# fs_open_dir 函数
- 函数功能:
打开目录。
- 函数原型:
fs_dir_t* fs_open_dir (fs_t* fs, const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | fs_dir_t* | 返回非NULL表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 目录名称。 |
# fs_open_file 函数
- 函数功能:
打开文件。
- 函数原型:
fs_file_t* fs_open_file (fs_t* fs, const char* name, const char* mode);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | fs_file_t* | 返回非NULL表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 文件名。 |
mode | const char* | 打开方式,取值请参考POSIX的fopen函数 (opens new window)相应的参数。 |
# fs_remove_dir 函数
- 函数功能:
刪除目录。
- 函数原型:
ret_t fs_remove_dir (fs_t* fs, const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 目录名称。 |
# fs_remove_dir_r 函数
- 函数功能:
递归刪除目录。
- 函数原型:
ret_t fs_remove_dir_r (fs_t* fs, const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 目录名称。 |
# fs_remove_file 函数
- 函数功能:
刪除文件。
- 函数原型:
ret_t fs_remove_file (fs_t* fs, const char* name);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
fs | fs_t* | 文件系统对象,一般赋值为os_fs()。 |
name | const char* | 文件名。 |
# 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* | 文件状态信息。 |
# os_fs 函数
- 函数功能:
获取缺省的文件系统对象。
- 函数原型:
fs_t* os_fs ();
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | fs_t* | 返回文件系统对象。 |