不管是哪一種程式語言,字串處理是一門相當的學問

要達到相同的結果很容易,但是處理方式因不同思維而異

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 的變數

就可以當成用來刪除任何字元的副程式

應該是不錯用,參考看看囉

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 orangeprince 的頭像
    orangeprince

    寂寞柳丁部屋

    orangeprince 發表在 痞客邦 留言(3) 人氣()