当前位置:首页 » 编程语言 » 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;
}

热点内容
电脑主机做服务器下载快不 发布:2024-11-28 00:32:40 浏览:386
冷冻存储盒 发布:2024-11-28 00:21:04 浏览:127
达内幼儿编程 发布:2024-11-28 00:21:02 浏览:320
我的世界下100层是什么服务器 发布:2024-11-28 00:16:50 浏览:548
怎么改配置密码 发布:2024-11-28 00:16:44 浏览:113
服务器芯片v几是什么 发布:2024-11-28 00:15:37 浏览:599
家庭麦克需要什么配置才能用 发布:2024-11-28 00:05:28 浏览:384
c语言then是什么意思 发布:2024-11-27 23:54:07 浏览:195
提升访问 发布:2024-11-27 23:41:39 浏览:821
为什么学习编程 发布:2024-11-27 23:41:37 浏览:942