Ну , если так вот навскидку... Для простоты предположим что будем читать из файла А, а результат писать в файл Б, таким образом в Б будет содержание файла А без данного слова....
Да, кстати, текстовый файл - это сильно сказано. Там как, все одной строкой? Или будут переносы и прочие усложнения?
1 - Выделяем буфер на N-ное кол-во байтов.
2 - В цикле "do - while" по условию "!EOF":
2.1 - читаем из файла количество байт, равное длине буфера - величина из п. 2.3, пишем в буфер на офсет, равный тоже величине из пункта 2.3 (пока все величины = 0, поэтому запишем все правильно)
2.2 - В цикле "for" сначала и до конца буфера, при условии "настоящая позиция + длина слова < длина буфера":2.2.1 - ставим указатель на начало буфера
2.2.2 - ищем первое появление заданного слова, запоминаем позицию
2.2.3 - записываем в выходной файл от указателя в п. 2.2.1 до найденной позиции, прыгаем вперед на длину искомого слова.
2.2.4 - сдвигаем указатель из п. 2.2.1 на настоящую позицию
2.3 если позиция не равна длине буфера, списываем оставшийся кусочек в начало буфера, запоминаем длину (длина буфера - наст. позиция)
Это так, просто чтоб порядок в голове сделать. Если надо более серьезно - точную задачу в студию.