c語(yǔ)言實(shí)現(xiàn)php的trim標(biāo)簽
更新時(shí)間:2016年01月15日 11:55:59 投稿:hebedich
本文給大家介紹的是使用C語(yǔ)言實(shí)現(xiàn)php的trim標(biāo)簽功能的代碼,非常的實(shí)用,其主要作用是清除字符串開(kāi)頭結(jié)尾除空白,有需要的小伙伴可以參考下。
清除字符串開(kāi)頭結(jié)尾除空白
修改原字符串
不能清除全角字符
/*
* 清除字符串開(kāi)始結(jié)尾處的空白
* 修改原字符串
* */
static char* trim(char*str){
char* p1 = str,*p2 = NULL,*p3 = NULL;
int flag = 0;
while(*(p1) != '\0'){
if(isspace(*p1)){
if(p3 == NULL) p3 = p2 == NULL?p1:p2;//標(biāo)記結(jié)尾空白
if(0 == flag) {//標(biāo)記開(kāi)頭為空白
flag = 1;
p2 = p1;
}else if(2 == flag){//中間空白
*(p2++) = *p1;
}
}else {
if(1 == flag || flag == 2){//開(kāi)頭空白結(jié)束標(biāo)志
*(p2++) = *p1;
flag = 2;
}else flag = -1;//開(kāi)頭無(wú)空白
p3 = NULL;//清除結(jié)尾空白
}
p1++;
}
//標(biāo)記結(jié)尾
if(p3 != NULL) *p3 = '\0';
else if(p2 != NULL) *p2 = '\0';
return str;
}
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)與電腦玩剪刀石頭布游戲
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)C語(yǔ)言實(shí)現(xiàn)和電腦玩剪刀石頭布游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-11-11
java string對(duì)象上的操作,常見(jiàn)的用法你知道嗎
今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著Java String類用法展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-08-08
OpenCV實(shí)現(xiàn)簡(jiǎn)易標(biāo)定板
這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)簡(jiǎn)易標(biāo)定板,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
C語(yǔ)言實(shí)現(xiàn)惡作劇關(guān)機(jī)程序
大家好,本篇文章主要講的是C語(yǔ)言實(shí)現(xiàn)惡作劇關(guān)機(jī)程序,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01
在C語(yǔ)言中對(duì)utmp文件進(jìn)行查找和寫(xiě)入操作的函數(shù)小結(jié)
這篇文章主要介紹了在C語(yǔ)言中對(duì)utmp文件進(jìn)行查找和寫(xiě)入操作的函數(shù)小結(jié),包括pututline()函數(shù)和getutline()函數(shù)以及getutid()函數(shù),需要的朋友可以參考下2015-08-08

