Pascal: ДОБАВЛЕНИЕ В НАЧАЛО файла

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
itwork
новенький
Сообщения: 41
Зарегистрирован: 28.12.2006 13:32:28

Pascal: ДОБАВЛЕНИЕ В НАЧАЛО файла

Сообщение itwork »

Как на прямую(т.е. без использования 2-го файла) добавить строку в начало ТЕКСТОВОГО файла????
Yogrik
постоялец
Сообщения: 116
Зарегистрирован: 22.03.2006 23:41:48

Сообщение Yogrik »

Без размещения данных во временной области, помойму это просто не возможно.....
Временная область может быть не только файлом....
Аватара пользователя
Cheb
энтузиаст
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34
Контактная информация:

Сообщение Cheb »

Именно. Загрузить в память, перезаписать с новой строкой в начале.
Аватара пользователя
shade
энтузиаст
Сообщения: 879
Зарегистрирован: 21.02.2006 19:15:48
Откуда: http://shamangrad.net/
Контактная информация:

Сообщение shade »

Если файл очень большой (не разу не встречал больших текстовых файлов) можно поблочно смещать контент файла: прочитал старый блок №1, записал новый блок №1, прочитал старый блок №2, записал новый блок №2 и т.д. (т.к. строка небольшая то размер блока можно взять равным длине строки, тогда новый №2 есть старый №1)

А еще лучше писать в конец.

Могу предположить связь данной темы с другой вами поднятой http://freepascal.ru/forum/viewtopic.php?t=2167 Вы быстрее получите более полезный ответ если зададите вопрос напрямую.

Если нужно перевернуть файл, то стек, скорее всего, вам поможет. Если нет (в чем сильно сомневаюсь), то чтение файла по блокам (BlockRead) и посимвольное сканирование от конца к началу в поисках переводов строк при встрече очередного перевода строки записывать накопленную строку в выходной файл или передавать соответствующему коду...

Короче каков вопрос, таков ответ. Учитесь задавать вопросы
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

Учитесь задавать вопросы
+1

что первое что второе не очень понятно как применять,
и если готового решения нет то или не тривиальная задача
или не правильный подход к решению.
Ответить