栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言字符串分割

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言字符串分割

@函数名称:  strsplit。

函数原型:  uint8_t **strsplit(uint8_t *str,uint8_t *Separator)。

函数功能:  将str字符串用特定分隔符Separator分隔为多个字符串。

函数返回:  分割后的子字符串列表指针。

注       意:存储分割后的子字符串列表的变量str_list是用动态内存分配函数malloc分配的,在使用完str_list后要及时释放其所占用的内存。

#include  
#include  
#include 

#define uint8_t char //单片机C语言环境下可直接用uint8_t类型
uint8_t **strsplit(uint8_t *str,uint8_t *Separator)
{
    uint8_t *str_buf=strdup(str);
    uint8_t **str_list=NULL;
    uint8_t sub_str_len=0;
    uint8_t *strsub_str_buf=NULL;
    uint8_t **p=NULL;

    while(*str)
	{
		if(*str == *Separator)
			sub_str_len++;
		str++;
	}
    sub_str_len++;
    // printf("%dn",sub_str_len);

    str_list = (uint8_t **)malloc(sub_str_len * sizeof(uint8_t *));

    p = str_list;

    strsub_str_buf=strtok(str_buf,Separator); 
    for(uint8_t i=0;i 

执行后的结果:

将字符串uint8_t *str="1 234 5 6 7 8 9 0"; 以空格为分隔符分割为8个子字符串。

str = 1, str_len=1
str = 234, str_len=3
str = 5, str_len=1  
str = 6, str_len=1  
str = 7, str_len=1  
str = 8, str_len=1  
str = 9, str_len=1  
str = 0, str_len=1 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330084.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号