ACL库常用API使用介绍.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ACL库常用API使用介绍.ppt

ACL库常用API使用介绍 2011.10 目录 常用数据结构 网络编程 数据库编程 XML解析库 JSON解析库 HTTP协议库 服务器编程 常用数据结构 动态数组 队列 堆栈 双向环 哈希表 二分块查找 二叉树 平衡二叉树 快速匹配树 通用遍历器 动态数组(一) ---常用数据结构 结构定义:ACL_ARRAY 主要函数: 数组创建:ACL_ARRAY* acl_array_create(int) 数组添加:int acl_array_append(ACL_ARRAY*, void*) 数组访问:acl_array_index(ACL_ARRAY*, int) 数组释放:acl_array_free(ACL_ARRAY*, void (*)(void*)) 举例: ACL_ARRAY *a = acl_array_create(10); // 创建动态数组 int i; char *buf; for (i = 0; i 20; i++) { // 循环添加动态对象 buf = malloc(256); snprintf(buf, 256, “hello: %d”, i); acl_array_append(a, buf); } for (i = 0; i 20; i++) { // 查找定位 char *ptr = (char*) acl_array_index(a, i); // 根据数组下标取出元素 printf(“%s\n”, ptr); } acl_array_free(a, free); // 释放动态数组及动态对象 参考: lib_acl/include/stdlib/acl_array.h 字符串动态数组(二) ---常用数据结构 结构定义:ACL_ARGV 主要函数 创建:方法一,acl_argv_alloc(int),方法二,acl_argv_split(string) 添加:acl_argv_add(ACL_ARGV*, string, …, NULL) 访问:acl_argv_index(ACL_ARGV*, int) 销毁:acl_argv_free(ACL_ARGV*) 举例 ACL_ARGV *a = acl_argv_split(“hello world, you are welcome; Bye!”, “ ,;!”); // 分隔字符串,并创建字符串数组 int i, size; acl_argv_add(a, “How”, “old”, “are”, “you”, NULL); // 向动态数组中添加新的字符串 size = acl_argv_size(a); // 数组中元素个数 for (i = 0; i size; i++) { char *ptr = acl_argv_index(a, i); // 取出对应下标的字符串 printf(“%s\n”, ptr); } acl_argv_free(a); // 释放字符串数组 参考: lib_acl/include/stdlib/acl_argv.h 队列 ---常用数据结构 结构定义:ACL_FIFO 主要函数 创建:acl_fifo_new() 添加:向队列尾部添加,acl_fifo_push_back(ACL_FIFO*, void*) 向队列头部添加,acl_fifo_push_front(ACL_FIFO*, void*) 访问:访问队列头, (void*) acl_fifo_head(ACL_FIFO*);访问队列尾, (void*) acl_fifo_tail(ACL_FIFO*) 弹出:从尾部弹出对象,(void*) acl_fifo_pop_front(ACL_FIFO*) ,与 acl_fifo_push_back 组合为先进先出方式 从头部弹出对象,(void*) acl_fifo_pop_back(ACL_FIFO*),与 acl_fifo_push_front 组合为后进先出方式 销毁:acl_fifo_free(ACL_FIFO*, void (*free_fn)(void*)) 举例 ACL_FIFO *fifo = acl_fifo_new(); // 创建队列 char *buf, *ptr; int i; for (i = 0; i size; i++) { char *buf = malloc(256); snprintf(buf, 256, “hello: %d”, i); acl_fifo_push_back(fifo, buf); // 向队列中添加元素 } while ((ptr = (char*

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档