C語言從字串中刪除某個子串

2021-10-10 16:50:16 字數 970 閱讀 5393

編寫函式刪除乙個字串中的一部分,函式原型如下:

int del_substr(char *str, char const *substr)
函式首先判斷substr是否出現在str中,如果未出現,函式就返回0;如果出現,函式應該把str中位於該子串後面的所有字元複製到該子串的位置,從而刪除這個子串,然後函式返回1。如果substr多次出現在str中,函式只刪除第一次出現的子串。

函式的第2個引數不能修改。

eg: 假定str指向「abcdefg」這個字串,如果substr指向"fgh"、"cdf"或者「xabc」時,函式應該返回0,str未作修改。如果substr指向"cde",函式就把str修改為指向「abfg」,方法是把『f』、『g』和最後的'\0'都一起複製到『c』的位置,然後函式返回1。

這裡目的是修改第乙個引數,但要求尋找的子串不允許修改。

同樣不能使用c庫函式。也不使用陣列下標引用。

#include #define true 1

#define false 0

//每次從當前的str中搜尋子串,沒有找到就返回null,

//找到就返回子串在str中的尾部的下乙個指標

char* match(char *str, char *want)

}return str;

}int del_substr(char *str, char const *substr)

str++;

}//如果str指向了尾部,說明沒有找到

if (*str == '\0')

//將查詢到的子串的尾部拷貝到查詢到的子傳的首部

while(*str != '\0')

return true;

}int main ()

這個示例很好的演示了指標指向的移動、傳遞、更改指標指向的資料等等,對指標的理解很有幫助。

c 判斷string字串是否含有某個子串

c 的string類提供了字串中查詢另乙個字串的函式find。其過載形式為 string size type string find string 功能為在string物件中,查詢引數string型別的字串是否存在,如果存在,返回起始位置。不存在則返回 string npos。include inc...

jQuery從字串中刪除字串

可以這麼說,這就是使用jquery從字串中刪除字串的方法。以下示例有望闡明我的意思。它使用了jquery.grep 這是乙個非常酷的搜尋功能 有點像php子字串 總之。與往常一樣,只需複製,貼上,使用firebug執行即可進行測試和試驗。function join console.log resul...

從某個字串中擷取子字串

首先拿到手上的是乙個路徑加上檔名的字串,但因為某種需要,我僅僅只要路徑,不需要檔案文,這時我們就可以做以下操作即可得到自己想要的。procedure tform4.button1click sender tobject varstr string str1 string str2 string n ...