C 語言字串處理方式積累
阿新 • • 發佈:2018-12-21
寫在前面:本文主要用來積累字串處理的各種方式。
正文:
1、目的:函式輸入一個字串,要求去掉字串中的行首和行尾的空格後輸出。
實現函式和測試程式碼如下:
#include <stdio.h> #include <string.h> //該函式的作用為:輸入一個字串,刪掉行首和行尾的空格 void strtrim (char * p_str ) { char *p = p_str; char *q = p_str; if(NULL == p_str) return; //去掉行首的空格 while((*p == ' ')||(*p == '\t')) { p++; } //賦值 while((p != NULL )&&(*p != '\0')) { *q++ = *p++; //*q = *p; //q ++; //p ++; } q --; while((*q == ' ')||(*q == '\t')) { q --; } //加上結尾 *(q + 1) = '\0'; } int main(void) { char buf[20] = {" abcd efg "}; // 前邊兩個空格,中間2個空格,後邊一個空格 printf("before convert buf:%s\n",buf); printf("before convert strlen(buf)=%d\n",strlen(buf)); strtrim(buf); printf("after convert buf:%s\n",buf); printf("after conver strlen(buf)=%d\n",strlen(buf)); }
測試結果: