Удалить все вхождения символа в строку - C (СИ)
Формулировка задачи:
Задача такая. С клавиатуры вводится строка и символ. Нужно удалить все вхождения символа в строку, результат записать в новую строку.
Вт чего не понимаю. внес в отдельную функцию данный код, когда передаю параметры из основной программы и вывожу в функции результаты-то все нормалльно. но в осовной программе результаты не тображаются.
P.S. параметры функции не менять(т.е.типы параметов)
int remove_ch(char *arr, char ch, char *str_res, int res_len)
{
char *old = arr;
int k = 0;
while (*arr != '\0')
{
if (*arr != ch)
res_len++;
arr++;
}
str_res =(char*) malloc(res_len*sizeof(char));
if(!str_res)
{
printf("ERROR");
return -1;
}
for(int i = 0; i < strlen(old); i++)
{
if(*(old+i) != ch)
{
*(str_res+k) = *(old+i);
k++;
}
}
*(str_res+res_len) = '\0';
printf("\nstr3: (%d) <%s>\n", res_len, str_res);
return res_len;
}Решение задачи: «Удалить все вхождения символа в строку»
textual
Листинг программы
int remove_ch(char *arr, char ch, char **str_res, int res_len)
{
// ...
*str_res =(char*) malloc(res_len*sizeof(char));
// ..
}