首页 > 其他分享 >C语言实现split函数

C语言实现split函数

时间:2024-04-12 16:13:38浏览次数:18  
标签:count 函数 C语言 char separator split pPre NULL pNext

#include <stdio.h>
 #include <string.h>
 
void mySplit(char *src,const char *separator, char dest[][20], int *num)
{
    char *pPre = NULL;
    char *pNext = NULL;

     //记录分隔符数量
     int count = 0;
     //原字符串为空
     if (src == NULL || strlen(src) == 0)
        return;
    //未输入分隔符
     if (separator == NULL || strlen(separator) == 0)
        return;

     //获得第一个由分隔符分割的字符串
    pNext = strtok(src,separator);
    while(pNext != NULL) {
        //存入到目的字符串数组中
        pPre = pNext;
        pNext = strtok(NULL, separator);

        if (pPre && pNext)
        {
            rt_strncpy(dest[count++], pPre, (pNext-pPre-1));
        }
        else if(pPre)
        {
            strcpy(dest[count++], pPre);
        }
    }

    *num = count;
}

标签:count,函数,C语言,char,separator,split,pPre,NULL,pNext
From: https://www.cnblogs.com/HuangLiDi/p/18131520

相关文章

  • 模板函数使用类型推导时的bug
    templatestaticboolparse_a_value(T&val,Json::Valuejson_val){if(json_val.isNull())returnfalse;if(typeid(val)==typeid(int)||typeid(val)==typeid(int16_t)||typeid(val)==typeid(int8_t)||typeid(val)==typeid(int32_t)){......
  • 几种常用数据结构的C语言实现
    队列/*********************************************************************************@file:myfifo.c*@brief:先入先出队列实现*@author:huanglidi*****************************************************************......
  • C++陷阱—指定的返回类型的函数实际没有返回时会发生什么
    当一个string变量作为左值接收函数返回,当函数没有正确返回时,该string变量被如何构造?请看如下代码:#include<iostream>#include<string.h>usingnamespacestd;stringfoo(){if(0){return"youget";}}intmain(intargc,char**argv){......
  • JSON.parse() 方法中里面有函数,转化完成后是字符串问题
    要将JSON字符串中的函数还原回原来的函数对象,你可以使用JSON.parse()方法,并提供一个reviver函数来将字符串表示的函数重新转换为函数对象。以下是你可以使用的代码示例:varobj={"name":"Runoob","alexa":function(){return10000;},"site":"www.runoob.com"};//......
  • 阿里云函数计算 FC牵手通义灵码 ,打造智能编码新体验
    通义灵码自成功入职阿里云后,其智能编程助手的角色除了服务于阿里云内部几万开发者,如今进一步服务函数计算 FC 产品开发者。近日,通义灵码正式进驻函数计算 FC WebIDE,让使用函数计算产品的开发者在其熟悉的云端集成开发环境中,无需再次登录即可使用通义灵码的智能编程能力,实现开......
  • tkinter回调函数
    importtkinterastkroot=tk.Tk()root.geometry('300x240')defpos(value):print(value)defpos1():print("1111")b1=tk.Scale(root,length=200,orient=tk.HORIZONTAL,command=lambdav:pos(v))#b1=tk.......
  • 周期函数的傅里叶级数
    1.三角函数基本性质本文主要用于复习一下傅里叶级数、傅里叶变换的基础,并引出后续的DCT变换,根据DCT变换特性,引入各类量化器基本定理三角函数的正交性:频率不同的三角函数乘积在一个周期内的积分是0,即:\[\int_{-\pi}^{\pi}sin(mx\pm\frac{\pi}{2})cos(nx\pm\frac{\pi}{2})dx......
  • 在Linux中, 什么是shell函数?如何使用它们?
    在Linux中,shell函数是一种在shell脚本中封装重复使用的代码片段的方法,用于提高代码的可读性和复用性。shell函数类似于其他编程语言中的函数概念,允许程序员定义一组指令序列,将其作为一个整体调用,并在需要的时候执行这些指令。1.定义shell函数的基本语法:有两种方式来定义shell函......
  • 27.C语言顺序循环结构结构练习题整理
    参考:https://www.qingsuyun.com/lib/d/600120380038000300010041/6、【单选题】语句while(!e);中的条件!e等价于()。[2分] ***AA、e==0B、e!=1C、e!=0D、~e9、【单选题】以下叙述正确的是()。[2分] ****BA、continue语句的作用是结束整个循环的执行......
  • php的addslashes()函数
    PHPaddslashes()函数addslashes()函数是PHP的一个内置函数,它返回一个在预定义的字符前会添加反斜杠的转义字符串。可以注:它不会在参数中使用任何指定的字符。预定义的字符是:●单引号(')●双引号(")●反斜杠(\)●空(null)值基本语法:addslashes($string)参数: ......