Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- void Remove(char *str, char *psubstr)
- {
- char *p = 0, *p1 = 0;
- size_t size = strlen(psubstr);//определили длину нашей подстроки
- for (; p = strstr(str, psubstr); ) //strstr - это функция поиска первого вхождения подстроки в строку. Она возращает указатель на место, где это подстрока находится
- //for - здесь дано только условие, когда оно вернет нулевой указатель, цикл прекратится
- {
- p1 = p + size; //запоминаем смещенный указатель(то есть теперь у нас указатель на конец вхождения подстроки указывает)
- while (*p++ = *p1++);//смещая указатели, мы перезаписываем строку, то есть на место подстроки перезаписывается дальше строка
- }
- }
- int main() {
- char str[] = { "string strin stri strng" },
- *psubstr = (char*)"str";
- Remove(str, psubstr);
- cout << str << endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement