wow-string-list文件说明

2024-04-26 11:28
文章标签 string 说明 list wow

本文主要是介绍wow-string-list文件说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

wow-string-list文件说明

  • 项目地址:https://gitee.com/wow-iot/wow-iot7
  • 本文件主要功能用于字符串链表相关操作,主要涉及创建、销毁、插入、获取、分隔、格式转换;

初始化与退出:

StringList_T* wow_stringlist_new(void)
{return (StringList_T*)wow_slist_create();	
}
void wow_stringlist_free(StringList_T** pptStrList)
{wow_slist_destroy(pptStrList,slist_free_func);
}

字符串链表添加元素

int wow_stringlist_append(StringList_T* ptStrList, const char *pcElem)
{CHECK_RET_VAL_P(ptStrList,-PARAM_INPUT_STRUCT_IS_NULL,"param input struct invalid!\n");CHECK_RET_VAL_P(pcElem && strlen(pcElem) > 0,-PARAM_INPUT_DATA_IS_NULL,"param input data invalid!\n");int len = strlen(pcElem);char* data = MALLOC(len + 1);CHECK_RET_VAL_P(data,-SYSTEM_MALLOC_FAILED,"malloc data size!\n");memset(data,0,len + 1);memcpy(data,pcElem,len);return wow_slist_insert_tail(ptStrList,data);
}

获取字符串链表元素个数与内容

int wow_stringlist_size(StringList_T* ptStrList)
{return wow_slist_size(ptStrList);
}
char* wow_stringlist_data(StringList_T* ptStrList,int nIdx)
{return (char*)wow_slist_peek_by_index(ptStrList,nIdx);
}

字符串链表元素格式转换

int wow_stringlist_toInt(StringList_T* ptStrList,int nIdx)
{char* data = (char*)wow_slist_peek_by_index(ptStrList,nIdx);CHECK_RET_ABORT(data);return strtol(data,NULL,10);
}float wow_stringlist_toFloat(StringList_T* ptStrList,int nIdx)
{char* data = (char*)wow_slist_peek_by_index(ptStrList,nIdx);CHECK_RET_ABORT(data);return (float)strtod(data,NULL);
}

分割字符串

StringList_T* wow_stringlist_split(char *pcStr, const char *pcDelim)
{StringList_T* ptStrList = wow_stringlist_new();CHECK_RET_VAL_P(ptStrList,NULL, "string_list new failed!\n");char *copy = strdup(pcStr);CHECK_RET_GOTO_P_A(copy,out, "strdup failed!\n");int ret = -1;char *token = strtok(copy, pcDelim);while (token){ret = wow_stringlist_append(ptStrList, token);CHECK_RET_GOTO(ret == 0,out);token  = strtok(NULL, pcDelim);}free(copy);return ptStrList;out:wow_stringlist_free(&ptStrList);free(copy);return NULL;
}

这篇关于wow-string-list文件说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/937462

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Python sys模块的使用及说明

《Pythonsys模块的使用及说明》Pythonsys模块是核心工具,用于解释器交互与运行时控制,涵盖命令行参数处理、路径修改、强制退出、I/O重定向、系统信息获取等功能,适用于脚本开发与调试,需... 目录python sys 模块详解常用功能与代码示例获取命令行参数修改模块搜索路径强制退出程序标准输入

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

MySQL之复合查询使用及说明

《MySQL之复合查询使用及说明》文章讲解了SQL复合查询中emp、dept、salgrade三张表的使用,涵盖多表连接、自连接、子查询(单行/多行/多列)及合并查询(UNION/UNIONALL)等... 目录复合查询基本查询回顾多表查询笛卡尔积自连接子查询单行子查询多行子查询多列子查询在from子句中使

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.