mirror of
https://gitee.com/acl-dev/acl.git
synced 2024-12-12 11:55:13 +08:00
60 lines
1.6 KiB
C
60 lines
1.6 KiB
C
#ifndef ACL_STRINGOPS_INCLUDE_H
|
|
#define ACL_STRINGOPS_INCLUDE_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "acl_define.h"
|
|
|
|
/**
|
|
* 判断给定字符串是否全为数字
|
|
* @param str {const char*} 字符串
|
|
* @return {int} 0: 否; 1: 是
|
|
*/
|
|
ACL_API int acl_alldig(const char *str);
|
|
|
|
/**
|
|
* 判断给定字符串是否为浮点数
|
|
* @param s {const char*} 字符串
|
|
* @return {int} 0: 否; 1: 是
|
|
*/
|
|
ACL_API int acl_is_double(const char *s);
|
|
|
|
/**
|
|
* 将多个字符串拼接成一个字符串
|
|
* @param arg0 {const char*} 第一个非空字符串
|
|
* @param ... 后续的字符串集合,结束符是 NULL
|
|
* @return {char*} 结果字符串,不为空, 该字符串需要调用 acl_myfree 释放
|
|
*/
|
|
ACL_API char *acl_concatenate(const char *arg0,...);
|
|
|
|
/**
|
|
* 从一个全路径的文件名中取得文件名部分,如:
|
|
* 从 "/tmp/test.txt" 或 "\\tmp\\test.txt" 中取得 test.txt
|
|
* @param path {const char*} 带有路径的文件名,如:"/tmp/test.txt"
|
|
* 或 "\\tmp\\test.txt"
|
|
* @return {const char*} 文件名,该返回值不需要释放,如果返回的地址
|
|
* 为空串(即第一个字节为 '\0') 则说明所给路径不含文件名
|
|
*/
|
|
ACL_API const char *acl_safe_basename(const char *path);
|
|
|
|
/**
|
|
* 将所给的字符串进行分隔,分别取出 name, value 地址, 输入字符串可以为
|
|
* {sp}{name}{sp}={sp}{value}{sp}, 如果分析成功,则将结果分别进行存储,
|
|
* 其中 {sp} 字符可以为: 空格, "\t", "\r", "\n"
|
|
* @param buf {char*} 输入的字符串, 不能为空
|
|
* @param name {char**} 存储结果的地址指针,不能为空
|
|
* @param value {char**} 存储结果的地址指针,不能为空
|
|
* @return {const char*} 出错原因,如果为空则表示解析成功,否则表示解析失败并返回
|
|
* 失败原因
|
|
*/
|
|
ACL_API const char *acl_split_nameval(char *buf, char **name, char **value);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|