acl  3.5.3.0
acl_argv.h 文件参考
#include "acl_define.h"
#include <stdarg.h>
#include "acl_dbuf_pool.h"
#include "acl_iterator.h"
+ acl_argv.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  ACL_ARGV
 

宏定义

#define ACL_ARGV_END   ((char *) 0)
 

类型定义

typedef struct ACL_ARGV ACL_ARGV
 

函数

ACL_API ACL_ARGVacl_argv_alloc (int size)
 
ACL_API ACL_ARGVacl_argv_alloc2 (int size, ACL_DBUF_POOL *dbuf)
 
ACL_API void acl_argv_add (ACL_ARGV *argvp,...)
 
ACL_API int acl_argv_set (ACL_ARGV *argvp, int idx, const char *value)
 
ACL_API void acl_argv_addv (ACL_ARGV *argvp, va_list ap)
 
ACL_API void acl_argv_addn (ACL_ARGV *argvp,...)
 
ACL_API void acl_argv_addnv (ACL_ARGV *argvp, va_list ap)
 
ACL_API void acl_argv_terminate (ACL_ARGV *argvp)
 
ACL_API ACL_ARGVacl_argv_free (ACL_ARGV *argvp)
 
ACL_API char * acl_argv_index (ACL_ARGV *argvp, int idx)
 
ACL_API int acl_argv_size (ACL_ARGV *argvp)
 
ACL_API ACL_ARGVacl_argv_split (const char *str, const char *delim)
 
ACL_API ACL_ARGVacl_argv_split3 (const char *str, const char *delim, ACL_DBUF_POOL *dbuf)
 
ACL_API ACL_ARGVacl_argv_splitn (const char *str, const char *delim, size_t n)
 
ACL_API ACL_ARGVacl_argv_splitn4 (const char *str, const char *delim, size_t n, ACL_DBUF_POOL *dbuf)
 
ACL_API ACL_ARGVacl_argv_split_append (ACL_ARGV *argvp, const char *str, const char *delim)
 
ACL_API ACL_ARGVacl_argv_splitn_append (ACL_ARGV *argvp, const char *str, const char *delim, size_t n)
 
ACL_API ACL_ARGVacl_argv_quote_split (const char *str, const char *delim)
 
ACL_API ACL_ARGVacl_argv_quote_split4 (const char *str, const char *delim, ACL_DBUF_POOL *dbuf)
 

宏定义说明

◆ ACL_ARGV_END

#define ACL_ARGV_END   ((char *) 0)

在文件 acl_argv.h206 行定义.

类型定义说明

◆ ACL_ARGV

typedef struct ACL_ARGV ACL_ARGV

External interface.

函数说明

◆ acl_argv_add()

ACL_API void acl_argv_add ( ACL_ARGV argvp,
  ... 
)

向字符串动态数组中添加一至多个字符串,最后一个NULL字符串表示结束

参数
argvp{ACL_ARGV*} 字符串动态数组指针
...字符串列表,最后一个为NULL, 格式如:{s1}, {s2}, ..., NULL

◆ acl_argv_addn()

ACL_API void acl_argv_addn ( ACL_ARGV argvp,
  ... 
)

向字符串动态数组中添加字段长度有限制的字符串列表

参数
argvp{ACL_ARGV*} 字符串动态数组指针
...一组有长度限制的字符串列表, 如: {s1}, {len1}, {s2}, {len2}, ... NULL

◆ acl_argv_addnv()

ACL_API void acl_argv_addnv ( ACL_ARGV argvp,
va_list  ap 
)

向字符串动态数组中添加字段长度有限制的字符串列表

参数
argvp{ACL_ARGV*} 字符串动态数组指针
ap{va_list} 一组有长度限制的字符串组成的变参列表

◆ acl_argv_addv()

ACL_API void acl_argv_addv ( ACL_ARGV argvp,
va_list  ap 
)

向字符串动态数组中添加字符串列表

参数
argvp{ACL_ARGV*} 字符串动态数组指针
ap{va_list} 由多个字符串组成的变参列表

◆ acl_argv_alloc()

ACL_API ACL_ARGV* acl_argv_alloc ( int  size)

分配一个字符串动态数组

参数
size{int} 动态数组的初始大小
返回
{ACL_ARGV*}

◆ acl_argv_alloc2()

ACL_API ACL_ARGV* acl_argv_alloc2 ( int  size,
ACL_DBUF_POOL dbuf 
)

◆ acl_argv_free()

ACL_API ACL_ARGV* acl_argv_free ( ACL_ARGV argvp)

释放字符串动态数组

参数
argvp{ACL_ARGV*} 字符串动态数组指针

◆ acl_argv_index()

ACL_API char* acl_argv_index ( ACL_ARGV argvp,
int  idx 
)

根据数组下标位置返回相对应的字符串指针

参数
argvp{ACL_ARGV*} 字符串动态数组指针
idx{int} 下标位置
返回
{char*} NULL: 下标越界;!= NULL: 字符串指针位置

◆ acl_argv_quote_split()

ACL_API ACL_ARGV* acl_argv_quote_split ( const char *  str,
const char *  delim 
)

根据源字符串及分隔字符串生成一个字符串动态数组,针对由 "" 或 '' 引用的 字符串不做分隔

参数
str{const char*} 源字符串
delim{const char*} 分隔字符串
返回
{ACL_ARGV*}

◆ acl_argv_quote_split4()

ACL_API ACL_ARGV* acl_argv_quote_split4 ( const char *  str,
const char *  delim,
ACL_DBUF_POOL dbuf 
)

根据源字符串及分隔字符串生成一个字符串动态数组,针对由 "" 或 '' 引用的 字符串不做分隔,其中将传入的内存池对象做为内存分配器

参数
str{const char*} 源字符串
delim{const char*} 分隔字符串
dbuf{ACL_DBUF_POOL*} 内存池对象,可以为空,当为空时则采用 缺省的内存分配方式
返回
{ACL_ARGV*}

◆ acl_argv_set()

ACL_API int acl_argv_set ( ACL_ARGV argvp,
int  idx,
const char *  value 
)

在指定位置设置指定的字符串,同时释放旧的字符串

参数
argvp{ACL_ARGV *} 字符串动态数组
idx{int} 指定下标位置,不应越界
value{const char *} 非 NULL 字符串
返回
{int} 返回 -1 表示下标越界或 value 为 NULL,0 表示成功

◆ acl_argv_size()

ACL_API int acl_argv_size ( ACL_ARGV argvp)

返回当前字符串动态数组中已经存放的字符串个数

参数
argvp{ACL_ARGV*} 字符串动态数组指针
返回
{int}

◆ acl_argv_split()

ACL_API ACL_ARGV* acl_argv_split ( const char *  str,
const char *  delim 
)

根据源字符串及分隔字符串生成一个字符串动态数组

参数
str{const char*} 源字符串
delim{const char*} 分隔字符串
返回
{ACL_ARGV*}

◆ acl_argv_split3()

ACL_API ACL_ARGV* acl_argv_split3 ( const char *  str,
const char *  delim,
ACL_DBUF_POOL dbuf 
)

根据源字符串及分隔字符串生成一个字符串动态数组,同时将传入的内存池 对象做为内存分配器

参数
str{const char*} 源字符串
delim{const char*} 分隔字符串
dbuf{ACL_DBUF_POOL*} 内存池对象,可以为空,当为空时则采用 缺省的内存分配方式
返回
{ACL_ARGV*}

◆ acl_argv_split_append()

ACL_API ACL_ARGV* acl_argv_split_append ( ACL_ARGV argvp,
const char *  str,
const char *  delim 
)

源字符串经分隔符分解后,其结果被附加至一个字符串动态数组

参数
argvp{ACL_ARGV*} 字符串动态数组指针
str{const char*} 源字符串
delim{const char*} 分隔字符串
返回
{ACL_ARGV*}

◆ acl_argv_splitn()

ACL_API ACL_ARGV* acl_argv_splitn ( const char *  str,
const char *  delim,
size_t  n 
)

根据源字符串及分隔字符串生成一个字符串动态数组, 但限定最大分隔次数

参数
str{const char*} 源字符串
delim{const char*} 分隔字符串
n{size_t} 最大分隔次数
返回
{ACL_ARGV*}

◆ acl_argv_splitn4()

ACL_API ACL_ARGV* acl_argv_splitn4 ( const char *  str,
const char *  delim,
size_t  n,
ACL_DBUF_POOL dbuf 
)

根据源字符串及分隔字符串生成一个字符串动态数组, 但限定最大分隔次数, 同时传入内存池对象做为内存分配器

参数
str{const char*} 源字符串
delim{const char*} 分隔字符串
n{size_t} 最大分隔次数
dbuf{ACL_DBUF_POOL*} 内存池对象,可以为空,当为空时则采用 缺省的内存分配方式
返回
{ACL_ARGV*}

◆ acl_argv_splitn_append()

ACL_API ACL_ARGV* acl_argv_splitn_append ( ACL_ARGV argvp,
const char *  str,
const char *  delim,
size_t  n 
)

源字符串经分隔符分解后,其结果被附加至一个字符串动态数组, 但限定最大分隔次数

参数
argvp{ACL_ARGV*} 字符串动态数组指针
str{const char*} 源字符串
delim{const char*} 分隔字符串
n{size_t} 最大分隔次数
返回
{ACL_ARGV*}

◆ acl_argv_terminate()

ACL_API void acl_argv_terminate ( ACL_ARGV argvp)

设置字符串动态数组的结束位置

参数
argvp{ACL_ARGV*} 字符串动态数组指针