不管是哪一種程式語言,字串處理是一門相當的學問
要達到相同的結果很容易,但是處理方式因不同思維而異
C++在字串上提供String型態,使得字串處理上方便許多
但是消耗的資源也是很可觀
因此許多人還是使用C的方法,使得程式單純、通用
下面是用BCB使用String來處理字串,將字串中所有空格去除
String TForm1::DeletChar(String str) { int str_index; char *p_index; while(p_index = strchr(str.c_str() ,' ')) //取得第一次發現空格的指標 { str_index = p_index - str.c_str(); //算出位置 str = str.Delete(str_index+1 ,1); //刪除空格並回存 } return str; }
這樣的處理方式很直觀,因為String提供方便的函式直接處理掉我們不需要的東西
再來看看C語言,如果是你,你會怎麼做呢~
這是我的做法,參考看看
void TForm1::DeletChar1(char *source ,char *dest) { while(*source) (*source == ' ')? (*source++) : (*dest++ = *source++); *dest = '\0'; }
不管是第一種或第二種寫法,只要將' '換成char 的變數
就可以當成用來刪除任何字元的副程式
應該是不錯用,參考看看囉
全站熱搜
留言列表