當前位置:首頁 » 編程語言 » 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;
}

熱點內容
csql類 發布:2024-05-21 08:19:38 瀏覽:413
高通晶元代碼編譯 發布:2024-05-21 08:06:46 瀏覽:480
預編譯cpp 發布:2024-05-21 08:01:12 瀏覽:91
我的世界伺服器如何挖 發布:2024-05-21 07:39:12 瀏覽:794
路游器怎麼改密碼 發布:2024-05-21 07:36:10 瀏覽:27
悅卷通安卓版叫什麼 發布:2024-05-21 07:27:07 瀏覽:981
聯盟網站源碼 發布:2024-05-21 06:56:57 瀏覽:978
linuxshell入門 發布:2024-05-21 06:44:26 瀏覽:757
如何用手機設置qq郵箱密碼 發布:2024-05-21 06:42:56 瀏覽:61
映像壓縮 發布:2024-05-21 05:46:53 瀏覽:726