acl
3.5.3.0
|
类 | |
struct | ACL_LINE_STATE |
宏定义 | |
#define | ACL_SAFE_STRNCPY(_obj, _src, _size) |
#define | acl_mystrtok acl_strtok |
#define | acl_mystrline acl_strline |
#define | acl_mystr_trim acl_strtrim |
#define | acl_mystr_strip acl_strstrip |
#define | acl_mystr_truncate_byln acl_strtrunc_byln |
#define | strrncasecmp acl_strrncasecmp |
#define | strrncmp acl_strrncmp |
类型定义 | |
typedef struct ACL_LINE_STATE | ACL_LINE_STATE |
函数 | |
ACL_API char * | acl_lowercase (char *s) |
ACL_API char * | acl_lowercase2 (char *s, size_t n) |
ACL_API char * | acl_lowercase3 (const char *s, char *buf, size_t size) |
ACL_API char * | acl_uppercase (char *s) |
ACL_API char * | acl_uppercase2 (char *s, size_t n) |
ACL_API char * | acl_uppercase3 (const char *s, char *buf, size_t size) |
ACL_API char * | acl_strtok (char **src, const char *sep) |
ACL_API char * | acl_strline (char **src) |
ACL_API char * | acl_strtrim (char *str) |
ACL_API int | acl_strstrip (const char *haystack, const char *needle, char *buf, int bsize) |
ACL_API int | acl_strtrunc_byln (char *str) |
ACL_API int | acl_strrncasecmp (const char *s1, const char *s2, size_t n) |
ACL_API int | acl_strrncmp (const char *s1, const char *s2, size_t n) |
ACL_API char * | acl_rstrstr (const char *haystack, const char *needle) |
ACL_API char * | acl_strcasestr (const char *haystack, const char *needle) |
ACL_API char * | acl_rstrcasestr (const char *haystack, const char *needle) |
ACL_API size_t | acl_strnlen (const char *s, size_t count) |
ACL_API int | acl_strcasecmp (const char *s1, const char *s2) |
ACL_API int | acl_strncasecmp (const char *s1, const char *s2, size_t n) |
ACL_API int | acl_file_path_correct (const char *psrc_file_path, char *pbuf, int sizeb) |
ACL_API int | acl_dir_correct (const char *psrc_dir, char *pbuf, int sizeb) |
ACL_API int | acl_dir_getpath (const char *pathname, char *pbuf, int bsize) |
ACL_API long long | acl_atoll (const char *s) |
ACL_API acl_uint64 | acl_atoui64 (const char *str) |
ACL_API acl_int64 | acl_atoi64 (const char *str) |
ACL_API const char * | acl_ui64toa (acl_uint64 value, char *buf, size_t size) |
ACL_API const char * | acl_i64toa (acl_int64 value, char *buf, size_t size) |
ACL_API const char * | acl_i64toa_radix (acl_int64 value, char *buf, size_t size, int radix) |
ACL_API const char * | acl_ui64toa_radix (acl_uint64 value, char *buf, size_t size, int radix) |
ACL_API ACL_LINE_STATE * | acl_line_state_alloc (void) |
ACL_API void | acl_line_state_free (ACL_LINE_STATE *state) |
ACL_API ACL_LINE_STATE * | acl_line_state_reset (ACL_LINE_STATE *state, int offset) |
ACL_API int | acl_find_blank_line (const char *s, int n, ACL_LINE_STATE *state) |
#define acl_mystr_strip acl_strstrip |
在文件 acl_mystring.h 第 121 行定义.
#define acl_mystr_trim acl_strtrim |
在文件 acl_mystring.h 第 109 行定义.
#define acl_mystr_truncate_byln acl_strtrunc_byln |
在文件 acl_mystring.h 第 129 行定义.
#define acl_mystrline acl_strline |
在文件 acl_mystring.h 第 101 行定义.
#define acl_mystrtok acl_strtok |
在文件 acl_mystring.h 第 92 行定义.
#define ACL_SAFE_STRNCPY | ( | _obj, | |
_src, | |||
_size | |||
) |
功能: 安全的字符串拷贝宏函数, 可以保证最后一个字节为 "\0"
_obj | {char*} 目的内存区指针 |
_src | {const char*} 源字符串指针 |
_size | {int} 目的内存区的空间大小 |
在文件 acl_mystring.h 第 19 行定义.
#define strrncasecmp acl_strrncasecmp |
WINDOWS下不支持一些字符串比较函数
在文件 acl_mystring.h 第 216 行定义.
#define strrncmp acl_strrncmp |
在文件 acl_mystring.h 第 219 行定义.
typedef struct ACL_LINE_STATE ACL_LINE_STATE |
ACL_API acl_int64 acl_atoi64 | ( | const char * | str | ) |
将数据字符串转换为64位符号长整型
str | {const char*} 字符串指针 |
ACL_API long long acl_atoll | ( | const char * | s | ) |
将数据字符串转换为64位有符号长整型
s | {const char*} 字符串指针 |
ACL_API acl_uint64 acl_atoui64 | ( | const char * | str | ) |
将数据字符串转换为64位无符号长整型
str | {const char*} 字符串指针 |
ACL_API int acl_dir_correct | ( | const char * | psrc_dir, |
char * | pbuf, | ||
int | sizeb | ||
) |
ACL_API int acl_dir_getpath | ( | const char * | pathname, |
char * | pbuf, | ||
int | bsize | ||
) |
ACL_API int acl_file_path_correct | ( | const char * | psrc_file_path, |
char * | pbuf, | ||
int | sizeb | ||
) |
ACL_API int acl_find_blank_line | ( | const char * | s, |
int | n, | ||
ACL_LINE_STATE * | state | ||
) |
从所给数据缓冲区中查找一个空行(空行可以为: \r
或
),该函数支持流式 解析,可以循环调用本函数
s | {const char*} 传入数据缓冲区地址 |
n | {int} s 数据缓冲区的长度 |
state | {ACL_LINE_STATE*} 由 acl_line_state_alloc 分配的对象 |
ACL_API const char* acl_i64toa | ( | acl_int64 | value, |
char * | buf, | ||
size_t | size | ||
) |
将64位符号长整型转换为字符串
value | {acl_int64} 64位符号长整型 |
buf | {char*} 用来存取转换结果的内存空间 |
size | {sizt_t} buf 的空间大小,其中要求其最小为21个字节 |
ACL_API const char* acl_i64toa_radix | ( | acl_int64 | value, |
char * | buf, | ||
size_t | size, | ||
int | radix | ||
) |
将64位符号长整型转换为某进制的字符串
value | {acl_int64} 64位符号长整型 |
buf | {char*} 用来存取转换结果的内存空间 |
size | {sizt_t} buf 的空间大小,其中要求其最小为21个字节 |
radix | {int} 进制, 如: 8 表示八进制, 10 表示十进制, 16 表示十六进制 |
ACL_API ACL_LINE_STATE* acl_line_state_alloc | ( | void | ) |
分配一个 ACL_LINE_STATE 对象用作 acl_find_blank_line 函数的参数
ACL_API void acl_line_state_free | ( | ACL_LINE_STATE * | state | ) |
释放由 acl_line_state_alloc 分配的 ACL_LINE_STATE 对象
state | {ACL_LINE_STATE*} 非空 ACL_LINE_STATE 对象 |
ACL_API ACL_LINE_STATE* acl_line_state_reset | ( | ACL_LINE_STATE * | state, |
int | offset | ||
) |
重置 ACL_LINE_STATE 对象的状态
state | {ACL_LINE_STATE*} 由 acl_line_state_alloc 动态分配的对象或者 栈变量或直接调用 malloc 或其它内存池分配的对象,但只有 acl_line_state_alloc 分配的对象才可以使用 acl_line_state_free 释放 |
offset | {int} 设置 ACL_LINE_STATE 对象中 offset 的初始值 |
ACL_API char* acl_lowercase | ( | char * | s | ) |
将字符串转换为小写,直接在原内存空间进行操作
s | {char *} 给定的字符串 |
ACL_API char* acl_lowercase2 | ( | char * | s, |
size_t | n | ||
) |
将给定字符串的前 n 个字节转换为小写
s | {char *} 给定的字符串 |
n | {int} 最多仅转换的字节数 |
ACL_API char* acl_lowercase3 | ( | const char * | s, |
char * | buf, | ||
size_t | size | ||
) |
将给定字符串转换为小写,结果存储于另一个内存区内
s | {const char*} 源字符串 |
buf | {char*} 存储转换结果的内存指针 |
size | {size_t} buf 的空间大小 |
ACL_API char* acl_rstrcasestr | ( | const char * | haystack, |
const char * | needle | ||
) |
从后向前扫描查找字符串,大小写不敏感
haystack | {char *} 源字符串 |
needle | {const char *} 匹配查找的字符串 |
ACL_API char* acl_rstrstr | ( | const char * | haystack, |
const char * | needle | ||
) |
从后向前扫描查找字符串,大小写敏感
haystack | {char *} 源字符串 |
needle | {const char *} 匹配查找的字符串 |
ACL_API int acl_strcasecmp | ( | const char * | s1, |
const char * | s2 | ||
) |
比较两个字符串是否相同,大小写不敏感
s1 | {const char*} |
s2 | {cosnt char*} |
ACL_API char* acl_strcasestr | ( | const char * | haystack, |
const char * | needle | ||
) |
从前向后扫描查找字符串,大小写不敏感
haystack | {const char *} 源字符串 |
needle | {const char *} 匹配查找的字符串 |
ACL_API char* acl_strline | ( | char ** | src | ) |
获得一个逻辑行, 如果某行的尾部由连接符 "\\" 连接,则将下一行合并至本行, 同时将一行字符串中的以及转义字符回车换行("\r\n" or "\n")去掉
src | {char**} 源字符串的地址指针 |
ACL_API int acl_strncasecmp | ( | const char * | s1, |
const char * | s2, | ||
size_t | n | ||
) |
比较两个字符串是否相同,大小写不敏感,同时限定最大比较长度
s1 | {const char*} |
s2 | {cosnt char*} |
n | {size_t} 限定比较的最大长度 |
ACL_API size_t acl_strnlen | ( | const char * | s, |
size_t | count | ||
) |
计算给定字符串的长度,但限制了最大计算长度,以免产生越界现象,要比 strlen 安全,如,如果给定字符串没有以 "\0" 结尾,则该函数就不会产生越界
s | {const char*} 字符串 |
count | {size_t} 最大计算长度 |
ACL_API int acl_strrncasecmp | ( | const char * | s1, |
const char * | s2, | ||
size_t | n | ||
) |
从后向前比较两个给定字符串,大小写不敏感且限定最大比较范围
s1 | {const char*} 字符串地址 |
s2 | {const char*} 字符串地址 |
n | {size_t} 最大比较范围 |
ACL_API int acl_strrncmp | ( | const char * | s1, |
const char * | s2, | ||
size_t | n | ||
) |
从后向前比较两个给定字符串, 大小写敏感且限定最大比较范围
s1 | {const char*} 字符串地址 |
s2 | {const char*} 字符串地址 |
n | {size_t} 最大比较范围 |
ACL_API int acl_strstrip | ( | const char * | haystack, |
const char * | needle, | ||
char * | buf, | ||
int | bsize | ||
) |
从源字符串中去掉给定字符串
haystack | {const char*} 源字符串 |
needle | {const char*} 需要从源字符串中被整体去掉的字符串 |
buf | {char*} 存储结果的内存开始位置 |
bsize | {int} buf 的空间大小 |
ACL_API char* acl_strtok | ( | char ** | src, |
const char * | sep | ||
) |
将给定字符串用另一个分隔符字符串进行分割
src | {char**} 需要被分割的字符串的地址的指针,必须是非空指针, 可以是空字符串,此时该函数返回 NULL |
sep | {const char*} 分隔符,非空字符串 |
ACL_API char* acl_strtrim | ( | char * | str | ) |
去掉给定字符串中的 " ", "\t"
str | {char*} 源字符串 |
ACL_API int acl_strtrunc_byln | ( | char * | str | ) |
从源字符串中找到一行的结束位置并去掉包含回车换行符及其以后的字符串
str | {char*} 源字符串 |
ACL_API const char* acl_ui64toa | ( | acl_uint64 | value, |
char * | buf, | ||
size_t | size | ||
) |
将64位无符号长整型转换为字符串
value | {acl_uint64} 64位无符号长整型 |
buf | {char*} 用来存取转换结果的内存空间 |
size | {sizt_t} buf 的空间大小,其中要求其最小为21个字节 |
ACL_API const char* acl_ui64toa_radix | ( | acl_uint64 | value, |
char * | buf, | ||
size_t | size, | ||
int | radix | ||
) |
将64位无符号长整型转换为某进制的字符串
value | {acl_int64} 64位符号长整型 |
buf | {char*} 用来存取转换结果的内存空间 |
size | {sizt_t} buf 的空间大小,其中要求其最小为21个字节 |
radix | {int} 进制, 如: 8 表示八进制, 10 表示十进制, 16 表示十六进制 |
ACL_API char* acl_uppercase | ( | char * | s | ) |
将字符串转换为大写,直接在原内存空间进行操作
s | {char *} 给定的字符串 |
ACL_API char* acl_uppercase2 | ( | char * | s, |
size_t | n | ||
) |
将字符串转换为大写,直接在原内存空间进行操作, 最大转换长度有限制
s | {char *} 给定的字符串 |
n | {int} 最多仅转换的字节数 |
ACL_API char* acl_uppercase3 | ( | const char * | s, |
char * | buf, | ||
size_t | size | ||
) |
将给定字符串的前 n 个字节转换为大写
s | {char *} 给定的字符串 |
buf | {char*} 存储转换结果的内存区 |
size | {size_t} buf 的空间大小(字节) |