Нужна помощь с функцией (строки) С++
подскажите пожалуйста функцию для удаления из первой строки символов, которые есть во второй строке
Контейнерные средства
C-средства
Из них можно накомбинировать то, что вам нужно.
Либо напишите свою, просто пробегая в цикле и сравнивая. Может так даже быстрей.
strtok
Вариант пробежаться по массиву как то интереснее выглядит.
В стандартной библиотеке Си такой функции нет. Но есть
Код:
char *strchr(const char *, int);
Но лично я предпочитаю хардкор (так понятнее):
Код:
char* delmatch(char* source, char* templ)
{
for(unsigned long i = 0; source[i]; i++)
for(unsigned long j = 0; templ[j]; j++)
if(source[i] == templ[j])
for(unsigned long k = i; source[k]; k++)
source[k] = source[k + 1], i--;
return source;
}
{
for(unsigned long i = 0; source[i]; i++)
for(unsigned long j = 0; templ[j]; j++)
if(source[i] == templ[j])
for(unsigned long k = i; source[k]; k++)
source[k] = source[k + 1], i--;
return source;
}
P.S.
- Работает только с NULL-терминированной строкой. Если в конце строки не будет нуля, мы все умрем. :D
- Инициализация в цикле работает только со стандартом C99