48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246
|
||||||||||||||||
1 | ||||||||||||||||
Флаги при работе с бинарными файлами02.08.2012, 15:50. Показов 7276. Ответов 45
Метки нет (Все метки)
Всем привет!
Ребята, не могу понять почему у меня удаляются данные из файла. Мне необходимо создать файл и потом в него дописывать данные. Проблема в том, что данные в файле удаляются при запуске программы. Пытался пробовать ставить разные флаги не помогает. Подскажите, пжлста, что я делаю неправильно Создание файла
0
|
02.08.2012, 15:50 | |
Ответы с готовыми решениями:
45
Информация по работе с бинарными файлами Есть ли литература по работе с бинарными файлами? Переписать исходник С под С# по работе с бинарными файлами Работа с бинарными файлами: какой способ работает наиболее быстро при записи и считывании? |
98 / 49 / 4
Регистрация: 24.12.2011
Сообщений: 101
|
||||||
02.08.2012, 17:01 | 3 | |||||
тут я не понимаю, на чем ты пишешь. но, в апи есть функция SetFilePointer
поищи, у тебя тоже должна быть такая функция.
1
|
48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246
|
|
02.08.2012, 17:05 [ТС] | 5 |
А каким флагом создается файл?
Добавлено через 2 минуты А где мне взять hFile?
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
02.08.2012, 17:09 | 6 | ||||||||||
Для добавления в конец файла, нужно так:
Для создания (один раз) :
1
|
48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246
|
||||||
02.08.2012, 17:09 [ТС] | 7 | |||||
Уважаемый alsav22, не хочу сомневаться в вашей компетентности, но взял в книге Дейтелов по ate такую фразу
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
02.08.2012, 17:15 | 8 | |||||
Если уже создан, создание обходить, и открывать для записи в конец или для чтения. После каждого открытия, не забывать закрывать.
Добавлено через 1 минуту Можете вполне сомневаться, но советую вот так дописывать в конец файла:
С ate , помню, была заморочка. Но ни что не мешает проверить, как лучше.
1
|
48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246
|
|||||||||||
02.08.2012, 17:29 [ТС] | 9 | ||||||||||
Написал как вы советовали, но вылетает, что невозможно открыть файл
Код
void CableTV::FileForStreet() { fstream FileStreet ( L"Streets.dat",ios::binary ); if ( !FileStreet ) { ErrorAddClient(L"Невозможно открыть файл\"Streets.dat\"!"); } }
Добавлено через 13 минут Использовал ios::_Noreplace
0
|
48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246
|
|
02.08.2012, 17:31 [ТС] | 11 |
Когда была такая ерунда, вспоминаю...
А что если не закрою поток? При выходе из блока он не закроется сам?
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
02.08.2012, 17:41 | 12 |
Давайте по порядку. Не нужно дёргаться. Обход делается, например, так. Открывается для чтения и записи, если неудача, то создаётся (открывается для записи). Теперь, почему не открывается. Проверьте имя. Есть ли ли в папке проекта такой файл.
Добавлено через 1 минуту Бывали заморочки, поэтому нужно закрывать, перед следующим открытием.
0
|
48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246
|
||||||
02.08.2012, 17:48 [ТС] | 16 | |||||
0
|
48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246
|
||||||
02.08.2012, 17:53 [ТС] | 20 | |||||
Код
ofstream FileHome ("NumberHomes.dat",ios::binary | ios::app ) Добавлено через 1 минуту
0
|
02.08.2012, 17:53 | |
02.08.2012, 17:53 | |
Помогаю со студенческими работами здесь
20
Ошибка при работе с файлами Ошибка при работе с файлами Многопоточность при работе с файлами Ошибка при работе с файлами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |