Я пытаюсь удалить символ из строки в C. Проблема, с которой я столкнулся в своем коде, заключается в том, что он удаляет первый экземпляр символа из строки, но также стирает все после этого символа в строке. Например, удаление «l» из «hello» выводит «he» вместо «heo»
int i;
char str1[30] = "Hello", *ptr1, c = 'l';
ptr1 = str1;
for (i=0; i<strlen(str1); i++)
{
if (*ptr1 == c) *ptr1 = 0;
printf("%c\n", *ptr1);
ptr1++;
}
Мне нужно использовать указатели для этого, и я хотел бы сделать это как можно более простым, поскольку я новичок в C.
Спасибо