C语言按指定分隔符拆分字符串

 

C语言按指定分隔符拆分字符串

1. 先看下面的函数

参数1:分隔符、

参数2:字符串

参数3:分割后的字符串存放的位置

参数4:预计需要分割的个数

复制代码
int at_get_words(char chop,char *srcStr, char **word, int size)
{
    int index = 0;
    int i = 0;
    char *str = srcStr;
    while (*(str + i) != '\0')
    {
        if (*(str + i) == chop)
        {
            word[index] = str;
            word[index++][i] = '\0';
            str = (str + i + 1);
            i = -1;
        }
        if (*(str + i) == '\r')
        {
            word[index] = str;
            word[index++][i] = '\0';
            str = (str + i);
            i = 0;
            break;
        }
        if (index >= size)
        {
            return index;
        }
        i++;
    }
    if (strlen(str) > 0)
    {
        word[index++] = str;
    }
    return index;
}
复制代码

2. 使用方法

复制代码
char *words[5] = { NULL };
char buf[64] = "115200, 8, 1, NONE, NFC";
if (at_get_words(',',buf,words,5 ) == 5)
{
    printf("out 0:%s",word[0]);
    printf("out 1:%s",word[1]);
    printf("out 2:%s",word[2]);
    printf("out 3:%s",word[3]);
    printf("out 4:%s",word[4]);
}
复制代码

 

posted @   429512065  阅读(2340)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
历史上的今天:
2018-06-21 海思NB-IOT的SDK看门狗的使用
点击右上角即可分享
微信分享提示