Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Удаление строк


Автор: Rutti 9.11.2006, 14:33
Как правильно удалять строки выбранные строки из файла?

Автор: JUmPER 9.11.2006, 14:51
физическое удаление:
-- создаём временный файл и пишем в него все строки, кроме тех, что хотим удалить
-- заменяем исходный файл временным
или (для небольших файлов)
-- грузим строки после первой удалённой в память
-- обрезаем файл
-- дописываем неудалённые строки из памяти в файл

логическое удаление:
помечаем строки как удалённые и в приложении их игнорируем

Автор: Rutti 9.11.2006, 15:40
JUmPER, спасибо.

А можно оба варианта кодом сопроводить?

Автор: JUmPER 9.11.2006, 17:33
используем текстовые потоки из stl, и читаем посторчно.
во втором случае в качестве метки используем первый символ строки (например: "1" -- не удалена, "0" -- удалена), разумеется, при считывании в неигнорируемых строках его удаляем

Автор: Rutti 9.11.2006, 17:54
JUmPER, 

а http://forum.codenet.ru/showthread.php?t=25699 вариант?

Автор: JUmPER 10.11.2006, 09:04
там же в принципе то же, что я и писАл:
stl, строки в памяти или временный файл
вот только с vcl.h не работал, хотя судя по названию это от борланд (где они изобрели велосипед)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)