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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ios::ate стирает файл 
V
    Опции темы
bsa
Дата 9.10.2010, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(boostcoder @  10.10.2010,  00:15 Найти цитируемый пост)
потому что файл открывался в режиме чтения. хотя это странно. я ведь ни указал не std::ios::in не std::ios::out.. хз

Вопрос был в том, почему файл очищался, а не почему он не записывался.
PM   Вверх
boostcoder
Дата 9.10.2010, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(yngwie19 @  9.10.2010,  23:20 Найти цитируемый пост)
я всегда смогу быстро перейти к определенной записи и сделать с ней все что угодно (обновить, сделать пустой)

для этого и существуют БД.
посмотри вторую ссылку постом выше. должно тебя сильно порадовать smile

Добавлено через 1 минуту и 25 секунд
Цитата(bsa @ 9.10.2010,  23:20)
Цитата(boostcoder @  10.10.2010,  00:15 Найти цитируемый пост)
потому что файл открывался в режиме чтения. хотя это странно. я ведь ни указал не std::ios::in не std::ios::out.. хз

Вопрос был в том, почему файл очищался, а не почему он не записывался.

не факт.
PM WWW   Вверх
yngwie19
Дата 9.10.2010, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 15.6.2008
Где: Новгород

Репутация: нет
Всего: нет



bsa, вопрос был в том, почему атрибут ate вместо того чтобы просто переместить указатель в конец, очищал весь файл.

Цитата(boostcoder @  9.10.2010,  23:23 Найти цитируемый пост)

для этого и существуют БД.

я в курсе что они существуют, мне просто хотелось реализовать это самому на С++

Добавлено через 58 секунд
в общем ostream лучше совсем не использовать? лучше fstream с набором определенных флагов?
PM MAIL   Вверх
boostcoder
Дата 9.10.2010, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



ofstream нужен когда тебе нужно писать в существующий файл. т.к. всяких флагов указывать не нужно. так же и с ifstream.
fstream подходит для случаев, подобных твоему.
PM WWW   Вверх
mes
Дата 10.10.2010, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(yngwie19 @  9.10.2010,  22:41 Найти цитируемый пост)
 лучше fstream с набором определенных флагов? 

имхо, потоки в стл не очень удачные и не всегда соответсвуют документации.. поэтому при особых маневрах без бубна не обойтись..




--------------------
PM MAIL WWW   Вверх
bsa
Дата 10.10.2010, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(yngwie19 @  10.10.2010,  00:20 Найти цитируемый пост)
bsa, Мне в принципе это и нужно, таким образом я делаю файл произвольного доступа, пусть память в этом случае расходуется не рационально, но по крайней мере я всегда смогу быстро перейти к определенной записи и сделать с ней все что угодно (обновить, сделать пустой). 
Причем тут нерациональный расход памяти? Ты внимательно читал мое сообщение? Я четко указал, что если ты пишешь двоичные данные, то расширение файла должно быть не .txt, а файл должен быть открыт с флагом ios::binary. Если же пишешь текстовые, то работа через seek смысла не имеет, так как в зависимости от значений файлов размер записей будет разным.

Цитата(boostcoder @  10.10.2010,  00:58 Найти цитируемый пост)
ofstream нужен когда тебе нужно писать в существующий файл.

Вообще-то, он нужен, если предполагается использовать поток только для записи. А если флагов не указывать, то файл будет очищен перед открытием.
PM   Вверх
boostcoder
Дата 10.10.2010, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



bsa, конечно, вы правы.
как же я так мог ступить...

PM WWW   Вверх
yngwie19
Дата 10.10.2010, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 15.6.2008
Где: Новгород

Репутация: нет
Всего: нет



Всем большое спасибо!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1344 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.