兩個(gè)輔助指針變量挖字符串-1

輔助指針變量挖字符串的模式:

1、定義兩個(gè)指針變量,指向字符串開始位置;

2、讓一個(gè)字符串移動(dòng),兩個(gè)字符串形成差值;

3、在兩個(gè)字符串差值之間找需要的字符串;

4、再次讓兩個(gè)字符串對(duì)其,準(zhǔn)備下一次檢索;

代碼1、在主函數(shù)里創(chuàng)建二維字符數(shù)組

#define _CRT_SECURE_NO_WARNINGS

#include <stdlib.h>

#include <string.h>

#include <stdio.h>

//?

//有一個(gè)字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";)

int splitString(const char *buf1, char c, char buf2[10][30], int *count)

{

// strcpy(buf2[0], "aaaaa");

// strcpy(buf2[1], "bbbbb");

char *p=NULL, *pTmp=NULL;

int tmpcount=0;

// 第一步,p和ptmp指針初始化;

do

{

//第二步,檢索符合條件的位置,p后移形成差值,挖字符串

p=strchr(p, c);

if(p != NULL)

{

if(p-pTmp >0)

{

strncpy(buf2[tmpcount], p, p-pTmp);

buf2[tmpcount][p-pTmp] = '\0'; //把第一行數(shù)據(jù)變成C風(fēng)格的字符串;

tmpcount ++;

//第三步, 讓p和pTmp達(dá)到下一次檢索的條件

pTmp=p=p+1;

}?

}else

{

break;

}

}while(*p !='\0');

*count=tmpcount;

return 0;

} //splitString end

int main()

{

int ret=0, i=0;

char *p1="abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";

char cTem=',';

int nCount=0;

char myArray[10][30];

ret=splitString(p1, cTem, myArray, &nCount);

if(ret!=0)

{

printf("func splitString() err: %d \n", ret);

return ret;

}

for(i=0;i<nCount; i++)

{

? ? printf("%s \n", myArray[i]);

}

return 0;


}



輔助指針變量挖字符串模型圖
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容