当前位置:首页 » 编程语言 » 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-01-19 22:07:55 浏览:786
贵州省发票软件服务器地址 发布:2025-01-19 22:00:12 浏览:694
linux的单用户模式 发布:2025-01-19 21:55:29 浏览:425
android型号 发布:2025-01-19 21:48:14 浏览:337
供应外置存储阵列柜 发布:2025-01-19 21:32:41 浏览:999
柴火压缩机 发布:2025-01-19 21:20:53 浏览:624
途观5053匹配密码在哪里 发布:2025-01-19 21:19:58 浏览:352
晶锐买哪个配置 发布:2025-01-19 21:19:52 浏览:329
vpn如何访问服务器 发布:2025-01-19 21:09:31 浏览:496
如何测试电视的配置 发布:2025-01-19 21:00:48 浏览:610