![]() |
|
Модераторы: bsa |
![]()
|
|
| SergXP |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 16.4.2008 Репутация: нет Всего: нет |
Всем Добрый вечер))
Прошу помочь разобраться с алгоритмом редактирования файла. Файл users.txt содержит текст вида:
ф-ция на запись в файл:
Как можно отредактировать запись в файле в моем случае? --------------------
База IMEI-номеров украденных и утерянных мобильных телефоновhttp://imeis.net.ru/ |
||||
|
|||||
| sdukshis |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 23.3.2009 Репутация: нет Всего: 1 |
В вашем случае очень неудобно, поскольку выбран неудачных формат хранения. Попробуйте использовать формат с разделителем.
В этом случае вы легко сможете читать файл. Для редактирования необходимо полностью сохранить данные в памяти, отредактировать и записать в файл, предварительно стерев старые данные. Можно комбинировать с использованием временных файлов. |
|||
|
||||
| SergXP |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 16.4.2008 Репутация: нет Всего: нет |
sdukshis, с разделителем, например ";"?
т.е. получим
а как считывать в данном случае файл? в php есть ф-ция explode, там все просто)) в C++ не знаю... может у кого-нибудь имеется кусок чтение/запись/редактирование текстовых файлов? --------------------
База IMEI-номеров украденных и утерянных мобильных телефоновhttp://imeis.net.ru/ |
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 5 Всего: 10 |
SergXP, в любом случае редактирование текстового файла - это полная его перезапись
(исключение - добавление в конец) читай файл в память, построчно редактируй в памяти и создавай файл заново |
|||
|
||||
| SergXP |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 16.4.2008 Репутация: нет Всего: нет |
Abyx,
Но все таки хотелось бы без полной перезаписи попытаться..... --------------------
База IMEI-номеров украденных и утерянных мобильных телефоновhttp://imeis.net.ru/ |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
С текстовым это почти невозможно.
лучше хранить так:
|
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 5 Всего: 10 |
проще всего использовать istream_iterator<string>(your_file_istream)
он будет и читать, и парсить входной поток на отдельные слова если в каждой записи одинаковое число полей, то файл считается в 2 вложенных цикла, 1й для записей - 2й для полей Это сообщение отредактировал(а) Abyx - 12.11.2009, 00:17 |
|||
|
||||
| SergXP |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 16.4.2008 Репутация: нет Всего: нет |
Лучше наверное всетаки полностью перезаписывать и не заморачиваться да это, курсовую сижу делаю)) что-то встрял на этом редактировании... ну впринцепи ладно.... думаю преподу все равно как происходит редактирование))) т.к. у нас ООП, он на классы будет смотреть. Еще раз, Всем спасибо! --------------------
База IMEI-номеров украденных и утерянных мобильных телефоновhttp://imeis.net.ru/ |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |