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

相关文章

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的