Удаление записи внутри файла с использованием C++

Я создал txt-файл, используя команду fstream в CPP, в этот файл я вставляю имена учеников, но если я хочу удалить информацию о ОСОБЕННОМ СТУДЕНТЕ, А НЕ ЦЕЛОМ ФАЙЛЕ, возможно ли это и как это сделать.. заранее спасибо.. Я не хочу переходить на строку, но хочу удалить конкретную строку

2 ответа

Решение

Вот несколько методов:

  1. Запишите все "хорошие" записи в новый файл, пропустите удаленный материал.
  2. Пометьте (перезаписать) текст знаком '\0', чтобы указать удаленную запись.
  3. Откройте файл для чтения / записи и переместите весь текст после удаленного текста, чтобы перезаписать удаленный текст (подумайте о перемещении элементов в массиве).

Файлы не сжимаются автоматически при удалении текста или данных; они остаются одинакового размера (относитесь к ним как к массивам).

1. Читать все записи из файла по одному
2. если (read_record== запись_ будет удалена)
пропускать
3. еще
записать запись в новый временный файл
4. Повторите шаги с 2 по 3, пока весь файл не будет прочитан
5. теперь удалите оригинальный файл
6. переименуйте временный файл в оригинальное имя
Другие вопросы по тегам