У вас есть массив символов c:
char c[] = "abcDELETEdefg";
Вам нужен другой массив, который содержит только «abcdefg» (плюс нулевой терминатор). Вы можете сделать это:
#define PUT_INTO 3
#define TAKE_FROM 9
int put, take;
for (put = START_CUT, take = END_CUT; c[take] != '\0'; put++, take++)
{
c[put] = c[take];
}
c[put] = '\0';
Есть более эффективные способы сделать это, используя memcpy или memmove, и это можно сделать более общим, но это суть. Если вы действительно заботитесь о скорости, вам, вероятно, следует создать новый массив, который не содержит символов, которые вам не нужны.