首页 > 其他分享 >C语言,如何进行多次分割,获取的到多个字符串,组成一个数组

C语言,如何进行多次分割,获取的到多个字符串,组成一个数组

时间:2024-11-21 16:44:35浏览次数:1  
标签:分割 delimiter C语言 char token 数组 字符串 arrIndex

如"A|B|C|D" 根据|分割,得到数组["A","B","C","D"]

char *propertyArr[4] = { "-1","-1" ,"-1","-1"  };
custom_string("A|B|C|D", "|", propertyArr, 4);
void custom_string(char *str, char *delimiter, char *arr[], int maxLength) {
		char *token = strtok(str, delimiter);
		int arrIndex = 0;
		while (token != NULL && arrIndex < maxLength) {
			TC_write_syslog("token : %s\n", token);
			arr[arrIndex++] = token;  // 存储分割后的子串
			TC_write_syslog("test :%d, %s\n", arrIndex, token);
			token = strtok(NULL, delimiter);  // 获取下一个子串
		}
	}

  

这里要注意数组长度的问题,需要事先给定数组的长度。

如果你确定数组的长度,则尽量将长度给得大一些。

 

标签:分割,delimiter,C语言,char,token,数组,字符串,arrIndex
From: https://www.cnblogs.com/wwssgg/p/18561062

相关文章

  • 排序算法(选择排序、直接插入排序、冒泡排序、二路归并排序)(C语言版)
    对数组进行排序,主要演示选择排序、直接排序、冒泡排序、二路归并排序算法,附上代码演示一、编写好各类排序方法的函数(1)s_sort(inte[],intn):选择排序。(2)si_sort(inte[],intn):直接插人排序。(3)sb_sort(inte[],intn):冒泡排序。(4)merge(inte[],intn);二路归并排序......
  • 字符串的基本操作(C语言版)
    字符串的判断、查找字符串并返回查找结果一、编写函数:采用顺序结构存储串,编写一个函数substring(strl,str2),用于判定str2是否为strl的子串;编写一个函数,实现在两个已知字符串中找出所有非空最长公共子串的长度和最长公共子串的个数;二、代码演示:1、字符串匹配的源代码:#......
  • 2024年你一定要知道的20种数组处理方法
    1. 数组创建constarray=[1,2,3,4,5];//使用字面量创建数组constarray2=newArray(10);//创建一个长度为10的空数组2. 添加元素push():向数组末尾添加一个或多个元素,并返回新的长度。array.push(6);//[1,2,3,4,5,6]unshift():向数组开头添加一个......
  • C语言分支与循环
    引言C语言是结构化的程序设计语言。结构化的程序通常包括数据的描述和操作的描述两方面的内容,结构指的是顺序结构、选择结构、循环结构。算法广义上来讲,算法是解决某一问题的方法和步骤,狭义的算法是对特定问题求解步骤的一种描述。算法的特性和要素:算法的特性有穷性确定......
  • 树状数组 Color the ball hdu 1556 线段树 洛谷p3372
    目录前言树状数组  lowbit函数  直观表述    代码   运行结果树状数组构建代码树状数组的应用  单点修改和(单点)区间查询  结合差分数组区间修改,单点查询        差分数组Colortheballhdu1556  问题描述  问题分析......
  • 【C语言】自编码器
    描述一下你对自编码器的理解,包括变分自编码器和生成对抗自编码器等。 自编码器(Autoencoder,AE)是一种无监督学习模型,主要用于数据压缩和特征学习。它的基本思想是通过一个编码器网络将输入数据压缩成低维潜在向量,然后通过一个解码器网络尝试从这个潜在向量重构出原始输入。如......
  • 如何快速让一个数组乱序,写出来
    在前端JavaScript中,快速打乱数组顺序最常用的方法是使用sort方法结合一个随机比较函数:functionshuffleArray(array){returnarray.sort(()=>Math.random()-0.5);}//示例用法:letmyArray=[1,2,3,4,5,6,7,8,9,10];letshuffledArray=shuffleArray(......
  • 说说你对arguments的理解,它是数组吗?
    在前端开发中,arguments对象是一个类数组对象,它包含了传递给函数的所有参数。虽然它看起来像数组,并且可以使用类似数组的索引访问其中的元素(例如arguments[0]访问第一个参数),但它并不是真正的数组。以下是arguments对象的一些关键特性:类数组:arguments拥有length属性,表......
  • 递归之美:C语言中的函数递归
      在编程的世界中,函数递归是一个强大且优雅的概念,它允许一个函数自我调用以解决问题。这种自我调用的特性使得递归在解决某些问题时变得特别高效和直观。本文将深入探讨函数递归的概念、应用以及需要注意的事项。一、递归是什么?        递归是学习C语⾔函数绕不开......
  • 写一个加密字符串的方法
    /***加密字符串*@param{string}str需要加密的字符串*@param{string}key加密密钥*@returns{string}加密后的字符串*/functionencryptString(str,key){if(!str){return"";}try{//使用CryptoJS库进行AES加密constkeyUt......