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++面試基礎(chǔ)之static關(guān)鍵字詳解
這篇文章主要給大家介紹了關(guān)于C++面試基礎(chǔ)之static關(guān)鍵字的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02C++?system()函數(shù)的常用用法(全網(wǎng)最新)
system()用于從C?/C++程序調(diào)用操作系統(tǒng)命令,這里給大家講解下C++?system()函數(shù)的常用用法,感興趣的朋友跟隨小編一起看看吧2023-01-01C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的<三子棋>案例
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的《三子棋》,本文通過(guò)功能區(qū)分一步步實(shí)現(xiàn)該案例,通過(guò)逐步的解析和代碼列舉,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07Qt圖形圖像開(kāi)發(fā)之曲線(xiàn)圖模塊QCustomplot庫(kù)生成靜態(tài)、動(dòng)態(tài)曲線(xiàn)詳細(xì)教程圖解
這篇文章主要介紹了Qt圖形圖像開(kāi)發(fā)之曲線(xiàn)圖模塊QCustomplot庫(kù)畫(huà)靜態(tài)、動(dòng)態(tài)曲線(xiàn)詳細(xì)教程圖解,需要的朋友可以參考下2020-03-03C語(yǔ)言解決青蛙跳臺(tái)階問(wèn)題(升級(jí)版)
所謂的青蛙跳臺(tái)階問(wèn)題,就是指一只青蛙一次可以跳上1級(jí)臺(tái)階,也可以跳上2級(jí)。求該青蛙跳上一個(gè)n級(jí)的臺(tái)階總共有多少種跳法。本文將用C語(yǔ)言解決這一問(wèn)題,需要的可以參考一下2022-01-01C++中set/multiset與map/multimap的使用詳解
這篇文章主要為大家詳細(xì)介紹了C++中set/multiset與map/multimap的使用,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2023-02-02