Удаление бита может быть выполнено путем пропуска нежелательных байтов, но нет возможности редактировать эту часть без выделения памяти или копирования. Вот пример удаления:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char *content = "John\nMichael\nAndrew\n";
char *target = strstr(content, "Michael");
int len_bef_tag = target - content;
int targlen = strchr(target, '\n') - target;
char *ptr = content;
/* deletion */
fwrite(ptr, 1, len_bef_tag, stdout);
ptr = target + targlen + 1;
printf("%s", ptr);
return 0;
}