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

热点内容
编辑php的软件 发布:2024-05-18 03:41:25 浏览:75
序贯算法代码 发布:2024-05-18 03:39:56 浏览:596
怎样给手机应用加密 发布:2024-05-18 03:33:57 浏览:616
安卓短信拦截在哪里找出来 发布:2024-05-18 03:33:53 浏览:301
脚本之家dll 发布:2024-05-18 03:24:41 浏览:705
java程序防止反编译 发布:2024-05-18 03:07:23 浏览:333
关键字数据库 发布:2024-05-18 03:04:40 浏览:252
美国k线源码 发布:2024-05-18 03:04:18 浏览:773
问道手游怎么重启服务器 发布:2024-05-18 03:02:25 浏览:618
配置锁有哪些用处 发布:2024-05-18 03:02:20 浏览:666