当前位置:首页 » 编程语言 » C语言split

C语言split

发布时间: 2024-04-30 07:52:44

⑴ C语言 写一个把一个字符串分成若干个数组

void*Split(constchar*pString,intlength)
{
char*ptr=NULL;
introws;//一组等宽字符串可以看做二维数组的一行,定义行数
constchar*pSrc=pString;//取原地址作为源指针
char*pTag;//目标指针
//分割长度小于等于0,或指针无效时,返回空指针。
if(pString&&length>0)
{
intlen=strlen(pString);
intcols;//列数
rows=len/length;//字符串总长除以列数
if(len%length>0)rows++;//如果余数非0,则行数加一
ptr=newchar[rows*(length+1)];//创建足够的空间
pTag=ptr;//初始化目标指针
while(*pSrc!='')//源指针指向的值如果有效则循环
{
cols=strlen(pSrc);//取原指针开始的字符串长度
if(cols>length)cols=length;//如果大于分割长度则修正,否则即为余数,就是最后一行的列数
memcpy(pTag,pSrc,cols);//复制
pTag+=length;//目标指针递增一个列宽(行宽度)
*pTag='';//填写结束符
pTag++;//增补一个地址
pSrc+=cols;//源指针递增一个列宽(行宽度)
}
}
returnptr;
}

//主函数
int_tmain(intargc,_TCHAR*argv[])
{
char*str="abcdefghijklmn";
char(*p)[4];
p=(char(*)[4])Split(str,3);
cout<<p[1]<<endl;
getchar();
return0;
}

⑵ C语言中字符切割函数split的实现

#include<stdio.h>
#include<string.h>

//将str字符以spl分割,存于dst中,并返回子字符串数量
intsplit(chardst[][80],char*str,constchar*spl)
{
intn=0;
char*result=NULL;
result=strtok(str,spl);
while(result!=NULL)
{
strcpy(dst[n++],result);
result=strtok(NULL,spl);
}
returnn;
}

intmain()
{
charstr[]="whatisyouname?";
chardst[10][80];
intcnt=split(dst,str,"");
for(inti=0;i<cnt;i++)
puts(dst[i]);
return0;
}

热点内容
安卓手机忘记密码用什么软件刷机 发布:2025-09-09 20:52:48 浏览:16
手机存储8128够用吗 发布:2025-09-09 20:47:26 浏览:854
存储池消失 发布:2025-09-09 20:45:59 浏览:175
xshell如何配置串口 发布:2025-09-09 20:24:18 浏览:845
算法岗读博 发布:2025-09-09 20:24:17 浏览:975
shell死循环脚本 发布:2025-09-09 20:15:37 浏览:249
无影云电脑和云服务器 发布:2025-09-09 20:09:17 浏览:906
清理sqlserver日志 发布:2025-09-09 20:09:00 浏览:476
c语言混响 发布:2025-09-09 19:57:11 浏览:855
安卓开发系统要什么配置 发布:2025-09-09 19:54:03 浏览:694