|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.08.2010, 18:27 | #1 |
Пользователь
Регистрация: 26.01.2010
Сообщений: 42
|
Вопрос по записи в файл
Здраствуйте!
Дело таково: мне нужно вставить в файл строку. Если напишу: FILE*f=fopen("some_file","w+t"); fseek(f, _SOME_POSITION, 0); fprintf(f,"some text"); то произойдет замещение текстом "some text" 9-ти оригинальных символов. А мне нужна именно вставки, т.е. раздвинуть строки и вставить. Какие можете высказать идеи (вариант "сделать другой файл, со вставленным текстом" нежелателен, поскольку файл может быть очень большой, а вставок нужно уйму делать)? Заранее благодарен! |
14.08.2010, 19:13 | #2 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 433
|
Никак. Это связяно с физическим хранением файла. Как вариант, вы можете в этом же файле передвинуться на требуемую позицию, считать и сохранить в оперативной памяти всё, что после этой позиции, затем вернуться на это позицию, записать свою информацию и дописать предыдущую. Но проще сделать новый файл. Просто все, несмотря на то, что у вас там уйма вставок, если это всё делать за один проход (писать в параллельный файл всё старую информацию и информацию, которую нужно дописать чередуя эти операции), то потеряете от этого вы не так уж и много.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
файл записи паскаль | newgener | Помощь студентам | 5 | 28.05.2010 12:24 |
Поток записи в файл. | Lanit | Общие вопросы C/C++ | 2 | 09.01.2010 14:27 |
Ошибка записи в файл | nisoldatov | Софт | 2 | 31.03.2009 02:24 |
Pascal.Записи и файл!!! | W_P | Помощь студентам | 2 | 20.05.2008 22:01 |
Вопрос по записи в БД | Rootz | БД в Delphi | 1 | 11.05.2008 00:56 |