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

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

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

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

Сообщение itwork » 25.03.2007 17:17:53

Как на прямую(т.е. без использования 2-го файла) добавить строку в начало ТЕКСТОВОГО файла????
itwork
новенький
 
Сообщения: 41
Зарегистрирован: 28.12.2006 14:32:28

Сообщение Yogrik » 25.03.2007 18:35:18

Без размещения данных во временной области, помойму это просто не возможно.....
Временная область может быть не только файлом....
Yogrik
постоялец
 
Сообщения: 116
Зарегистрирован: 23.03.2006 00:41:48

Сообщение Cheb » 25.03.2007 19:16:27

Именно. Загрузить в память, перезаписать с новой строкой в начале.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Сообщение shade » 25.03.2007 21:19:31

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

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

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

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

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

Сообщение Attid » 26.03.2007 10:51:21

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

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


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru