| |
|
|
| | Есть большой текстовый файл
Необходимо изменить любую строку. | |
| |
|
|
| |
|
|
| |
для: ValeV
(23.12.2009 в 21:48)
| | | Нужно скопировать содержимое файла до изменяемой строки в новый файл. Записать изменённую строку и скопировать оставшуюся часть файла, пропуская изменяемую строку (всё это тоже в новый файл).
Фот функции, которые вам понядобятся: fopen(), fread(), fwrite(), fseek(). | |
| |
|
|
| |
|
|
| |
для: Саня
(23.12.2009 в 22:10)
| | | Как грамотно это сделать?
Как переписать файл если его читают пользователи? | |
| |
|
|
| |
|
|
| |
для: ValeV
(23.12.2009 в 22:21)
| | | Я только что рассказал как это грамотно сделать. И с пользователями ничего не случится. Только нужно не забыть удалить старый файл и переименовать новый. | |
| |
|
|
| |
|
|
| |
для: Саня
(23.12.2009 в 22:31)
| | | Как его удалить, если его в этот момент читают?
Кусочек кода можно? | |
| |
|
|
| |
|
|
| |
для: ValeV
(23.12.2009 в 22:40)
| | | Лучше воспользоваться функцией copy(), которая заменит файл - причем не физически, а просто переключит точки входа на уровне операционной системы. | |
| |
|
|
| |
|
|
| |
для: cheops
(24.12.2009 в 15:26)
| | | Можно определить момент, когда файл никто не читает ИЛИ
при использовании фунции copy() это не играет роли | |
| |
|
|
| |
|
|
| |
для: cheops
(24.12.2009 в 15:26)
| | | >функцией copy(), которая заменит файл - причем не физически
не о rename() ли идет речь? | |
| |
|
|
| |
|
|
| |
для: cheops
(24.12.2009 в 15:26)
| | | Заменит ли файл функция copy(), если файл заблокирован другими процессами?
Как определить, занят ли файл (заблокирован) "читателями", не используя fopen()? | |
| |
|
|