awtk/docs/manual/path_t.md
2023-12-26 19:09:36 +08:00

13 KiB
Raw Blame History

path_t

概述

路径相关的工具函数。

函数

函数名称 说明
path_abs 返回绝对路径。
path_abs_normalize 将相对路径转换为绝对路径并规范路径字符形式。
path_abs_normalize_with_root 将相对路径转换为绝对路径并规范路径字符形式。
path_app_root 获取app所在目录。
path_app_root_ex 获取app所在目录并追加subpath到后面。
path_basename 返回文件名。
path_basename_ex 返回文件名。
path_build 构造路径。
path_cwd 获取当前所在目录。
path_dirname 返回目录。
path_exe 获取可执行文件所在目录。
path_exist 判断目录是否存在。
path_expand_vars 将路径中的变量展开。
path_extname 返回文件扩展名。
path_extname_is ```c
path_is_abs 判断路径是否为绝对路径。
path_normalize 规范路径字符形式。
path_prepend_app_root 将前面路径加上app root。
path_prepend_temp_path 将前面路径加上临时文件目录。
path_prepend_user_storage_path 将前面路径加上用户目录。
path_remove_last_slash 去掉后面的/和\字符。
path_replace_basename 替换文件名。
path_replace_extname 替换文件扩展名。

path_abs 函数


  • 函数功能:

返回绝对路径。

  • 函数原型:
ret_t path_abs (const char* path, char* result, int32_t size);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
path const char* 路径。
result char* 用于返回绝对路径。
size int32_t 缓冲区大小。

path_abs_normalize 函数


  • 函数功能:

将相对路径转换为绝对路径并规范路径字符形式。

  • 函数原型:
ret_t path_abs_normalize (const char* filename, char* result, int32_t size);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
filename const char* 相对路径。
result char* 用于返回绝对路径。
size int32_t 缓冲区大小。

path_abs_normalize_with_root 函数


  • 函数功能:

将相对路径转换为绝对路径并规范路径字符形式。

  • 函数原型:
const char* path_abs_normalize_with_root (const char* root, const char* rel_filename, char* filename);
  • 参数说明:
参数 类型 说明
返回值 const char* 返回绝对路径。
root const char* 根目录。
rel_filename const char* 相对路径。
filename char* 用于返回绝对路径。

path_app_root 函数


  • 函数功能:

获取app所在目录。

  • 函数原型:
ret_t path_app_root (char* path);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
path char* 保存app所在目录。

path_app_root_ex 函数


  • 函数功能:

获取app所在目录并追加subpath到后面。

  • 函数原型:
ret_t path_app_root_ex (char* path, const char* subpath);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
path char* 保存app所在目录。
subpath const char* 子目录。

path_basename 函数


  • 函数功能:

返回文件名。

  • 函数原型:
ret_t path_basename (const char* path, char* result, int32_t size);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
path const char* 路径。
result char* 用于返回文件名。
size int32_t 缓冲区大小。

path_basename_ex 函数


  • 函数功能:

返回文件名。

  • 函数原型:
ret_t path_basename_ex (const char* path, bool_t remove_ext_name, char* result, int32_t size);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
path const char* 路径。
remove_ext_name bool_t 是否去掉扩展名。
result char* 用于返回文件名。
size int32_t 缓冲区大小。

path_build 函数


  • 函数功能:

构造路径。

可变参数为字符串以NULL参数结束。

  • 函数原型:
ret_t path_build (char* result, int32_t size);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
result char* 用于返回路径。
size int32_t 缓冲区大小。

path_cwd 函数


  • 函数功能:

获取当前所在目录。

  • 函数原型:
ret_t path_cwd (char* path);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
path char* 保存当前所在目录的路径。

path_dirname 函数


  • 函数功能:

返回目录。

  • 函数原型:
ret_t path_dirname (const char* path, char* result, int32_t size);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
path const char* 路径。
result char* 用于返回目录。
size int32_t 缓冲区大小。

path_exe 函数


  • 函数功能:

获取可执行文件所在目录。

  • 函数原型:
ret_t path_exe (char* path);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
path char* 保存可执行文件所在目录。

path_exist 函数


  • 函数功能:

判断目录是否存在。

  • 函数原型:
bool_t path_exist (const char* path);
  • 参数说明:
参数 类型 说明
返回值 bool_t 返回TRUE表示成功否则表示失败。
path const char* 目录。

path_expand_vars 函数


  • 函数功能:

将路径中的变量展开。

${app_dir} -> app 文件目录。
${temp_dir} -> 临时文件目录。
${user_dir} -> 用户目录。
  • 函数原型:
ret_t path_expand_vars (const char* filename, char* result, int32_t size);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
filename const char* 相对路径。
result char* 用于返回结果。
size int32_t 缓冲区大小。

path_extname 函数


  • 函数功能:

返回文件扩展名。

  • 函数原型:
ret_t path_extname (const char* path, char* result, int32_t size);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
path const char* 路径。
result char* 用于返回文件扩展名。
size int32_t 缓冲区大小。

path_extname_is 函数


  • 函数功能:

```c

assert(path_extname_is("test.jpg", ".jpg")); assert(path_extname_is("test.JPG", ".jpg"));

检查是否是指定的扩展名。

* 函数原型:

bool_t path_extname_is (const char* path, const char* extname);


* 参数说明:

| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回TRUE表示是否则表示不是。 |
| path | const char* | 路径。 |
| extname | const char* | 扩展名。 |
#### path\_is\_abs 函数
-----------------------

* 函数功能:

> <p id="path_t_path_is_abs">判断路径是否为绝对路径。

* 函数原型:

bool_t path_is_abs (const char* path);


* 参数说明:

| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回FALSE表示不是绝对路径否则表示是绝对路径。 |
| path | const char* | 路径。 |
#### path\_normalize 函数
-----------------------

* 函数功能:

> <p id="path_t_path_normalize">规范路径字符形式。

* 函数原型:

ret_t path_normalize (const char* path, char* result, int32_t size);


* 参数说明:

| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| path | const char* | 路径。 |
| result | char* | 用于返回规范后的路径。 |
| size | int32\_t | 缓冲区大小。 |
#### path\_prepend\_app\_root 函数
-----------------------

* 函数功能:

> <p id="path_t_path_prepend_app_root">将前面路径加上app root。

* 函数原型:

const char* path_prepend_app_root (char* full_path, const char* path);


* 参数说明:

| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | const char* | 返回完整路径。 |
| full\_path | char* | 用于返回完整路径。 |
| path | const char* | 路径。 |
#### path\_prepend\_temp\_path 函数
-----------------------

* 函数功能:

> <p id="path_t_path_prepend_temp_path">将前面路径加上临时文件目录。

* 函数原型:

const char* path_prepend_temp_path (char* full_path, const char* path);


* 参数说明:

| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | const char* | 返回完整路径。 |
| full\_path | char* | 用于返回完整路径。 |
| path | const char* | 路径。 |
#### path\_prepend\_user\_storage\_path 函数
-----------------------

* 函数功能:

> <p id="path_t_path_prepend_user_storage_path">将前面路径加上用户目录。

* 函数原型:

const char* path_prepend_user_storage_path (char* full_path, const char* path);


* 参数说明:

| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | const char* | 返回完整路径。 |
| full\_path | char* | 用于返回完整路径。 |
| path | const char* | 路径。 |
#### path\_remove\_last\_slash 函数
-----------------------

* 函数功能:

> <p id="path_t_path_remove_last_slash">去掉后面的/和\\字符。

* 函数原型:

ret_t path_remove_last_slash (char* path);


* 参数说明:

| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| path | char* | 目录。 |
#### path\_replace\_basename 函数
-----------------------

* 函数功能:

> <p id="path_t_path_replace_basename">替换文件名。

* 函数原型:

ret_t path_replace_basename (char* result, int32_t size, const char* filename, const char* basename);


* 参数说明:

| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| result | char* | 用于返回结果。 |
| size | int32\_t | 缓冲区大小。 |
| filename | const char* | 原始文件路径。 |
| basename | const char* | 替换后的文件名。 |
#### path\_replace\_extname 函数
-----------------------

* 函数功能:

> <p id="path_t_path_replace_extname">替换文件扩展名。

* 函数原型: