c語言實(shí)現(xiàn)php的trim標(biāo)簽
更新時(shí)間:2016年01月15日 11:55:59 投稿:hebedich
本文給大家介紹的是使用C語言實(shí)現(xiàn)php的trim標(biāo)簽功能的代碼,非常的實(shí)用,其主要作用是清除字符串開頭結(jié)尾除空白,有需要的小伙伴可以參考下。
清除字符串開頭結(jié)尾除空白
修改原字符串
不能清除全角字符
/* * 清除字符串開始結(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)記開頭為空白 flag = 1; p2 = p1; }else if(2 == flag){//中間空白 *(p2++) = *p1; } }else { if(1 == flag || flag == 2){//開頭空白結(jié)束標(biāo)志 *(p2++) = *p1; flag = 2; }else flag = -1;//開頭無空白 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)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02C++?system()函數(shù)的常用用法(全網(wǎng)最新)
system()用于從C?/C++程序調(diào)用操作系統(tǒng)命令,這里給大家講解下C++?system()函數(shù)的常用用法,感興趣的朋友跟隨小編一起看看吧2023-01-01C語言實(shí)現(xiàn)簡(jiǎn)單的<三子棋>案例
這篇文章主要介紹了C語言實(shí)現(xiàn)簡(jiǎn)單的《三子棋》,本文通過功能區(qū)分一步步實(shí)現(xiàn)該案例,通過逐步的解析和代碼列舉,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07Qt圖形圖像開發(fā)之曲線圖模塊QCustomplot庫生成靜態(tài)、動(dòng)態(tài)曲線詳細(xì)教程圖解
這篇文章主要介紹了Qt圖形圖像開發(fā)之曲線圖模塊QCustomplot庫畫靜態(tài)、動(dòng)態(tài)曲線詳細(xì)教程圖解,需要的朋友可以參考下2020-03-03C++中set/multiset與map/multimap的使用詳解
這篇文章主要為大家詳細(xì)介紹了C++中set/multiset與map/multimap的使用,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2023-02-02