![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ___Yuri |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 2.3.2005 Где: МО Репутация: нет Всего: нет |
Нужно удалить строку из середины файла. Например, по её номеру(допустим 500 из 1000).
Вопрос: как установить необходимое смещение(начало - конец)? |
|||
|
||||
| AISIN |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 27.1.2005 Где: Пушкино Репутация: нет Всего: 1 |
С помощью циклов!!!
--------------------
Внимание!!! Внимание!!!Запущена программа по завоеванию мира!!!Выполненно 0,000000000000000000000000000000000000000000000000000002% |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
что значит смещение? оно и будет 500
+ строк в файлах нет ( если ты имееш в виду символ \n -- строка -- это все, после 499 символа и до 500-го ) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| ___Yuri |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 2.3.2005 Где: МО Репутация: нет Всего: нет |
Возможно я некоррректно выразился, но дело в следующем: пусть у меня в файле записана
некоторая последовательность данных. Вдруг мне взбрело в голову выкинуть часть из них(размера допустим n) из "серединки". Мне необходимо чтобы произошло смещение позиций всех остальных, которые следуют после, ровно на n позиций назад. Как вообще это можно сделать? |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
опять не понял. если ты удаляеш часть данных сследующие за ними смещаются вперед а не назад...
как вообще сделать?.. примерно так: открываеш файл на чтение и второй на запись. из первого читаеш до позиции удаления ( и пишеш во второй файл ) потом пропускаеш ту часть, которую нужно удалить. потом опять читаеш из первого и пишеш во второй. если всетаки назад сместить нужно -- вто второй файл нули пиши. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| AISIN |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 27.1.2005 Где: Пушкино Репутация: нет Всего: 1 |
самый простой и не самый эффективный способ.
Создаешь указатели char *pBuf, *pr Допустим в pBuf загружаешь весь текстовой файл! А потом пишешь цикл for(i=0,;;;i++) и копируешь по одному символу из pBuf в pr. Если i=500 то копирование прекращается pBuf просматривается дальше на то кол-во эл-тов которые нужно удалить, а потом когда pBuf пролеснется на определенное ко-во символов тогда возобновляешь копирование в pr. Когда цикл закончиться Стираешь все из файла и за место этого подставляешь данные которые записаны в pr!!!\\\\\\\\\ --------------------
Внимание!!! Внимание!!!Запущена программа по завоеванию мира!!!Выполненно 0,000000000000000000000000000000000000000000000000000002% |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |