Показать сообщение отдельно
Старый 01.06.2008, 17:41     # 4
Voland25
Junior Member
 
Регистрация: 28.11.2003
Адрес: Израиль
Пол: Male
Сообщения: 67

Voland25 МолодецVoland25 МолодецVoland25 Молодец
Ну , если так вот навскидку... Для простоты предположим что будем читать из файла А, а результат писать в файл Б, таким образом в Б будет содержание файла А без данного слова....

Да, кстати, текстовый файл - это сильно сказано. Там как, все одной строкой? Или будут переносы и прочие усложнения?

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 если позиция не равна длине буфера, списываем оставшийся кусочек в начало буфера, запоминаем длину (длина буфера - наст. позиция)
Это так, просто чтоб порядок в голове сделать. Если надо более серьезно - точную задачу в студию.
__________________
"Inter arma leges silent" - "молчат законы при звоне оружия"

Последний раз редактировалось Voland25; 01.06.2008 в 17:47.
Voland25 вне форума