Удаление записи внутри файла с использованием C++
Я создал txt-файл, используя команду fstream в CPP, в этот файл я вставляю имена учеников, но если я хочу удалить информацию о ОСОБЕННОМ СТУДЕНТЕ, А НЕ ЦЕЛОМ ФАЙЛЕ, возможно ли это и как это сделать.. заранее спасибо.. Я не хочу переходить на строку, но хочу удалить конкретную строку
2 ответа
Решение
Вот несколько методов:
- Запишите все "хорошие" записи в новый файл, пропустите удаленный материал.
- Пометьте (перезаписать) текст знаком '\0', чтобы указать удаленную запись.
- Откройте файл для чтения / записи и переместите весь текст после удаленного текста, чтобы перезаписать удаленный текст (подумайте о перемещении элементов в массиве).
Файлы не сжимаются автоматически при удалении текста или данных; они остаются одинакового размера (относитесь к ним как к массивам).
1. Читать все записи из файла по одному
2. если (read_record== запись_ будет удалена)
пропускать
3. еще
записать запись в новый временный файл
4. Повторите шаги с 2 по 3, пока весь файл не будет прочитан
5. теперь удалите оригинальный файл
6. переименуйте временный файл в оригинальное имя