Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/41: Рейтинг темы: голосов - 41, средняя оценка - 4.68
 Аватар для Holsteng
48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246

Флаги при работе с бинарными файлами

02.08.2012, 15:50. Показов 8561. Ответов 45
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Ребята, не могу понять почему у меня удаляются данные из файла.

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

Пытался пробовать ставить разные флаги не помогает. Подскажите, пжлста, что я делаю неправильно

Создание файла
C
1
2
3
4
5
fstream FileStreet ( L"Streets.dat",ios::binary  );
    if ( !FileStreet ) 
    {
        ErrorAddClient(L"Невозможно открыть файл\"Streets.dat\"!");
    }
Запись в файл

C
1
2
3
4
5
ofstream FileStreet (L"Streets.dat", ios::ate  );
    if ( !FileStreet ) 
        ErrorAddClient(L"Невозможно открыть файл\"Streets.dat\"!");
    FileStreet.write (reinterpret_cast<const char *>( &street ),sizeof( EditorStreet ) );
        InformationAboutEvent(L"Улица добавлена");
И периодично я в программе открываю файл для чтения

C
1
2
3
4
5
6
ifstream FileStreet ( L"Streets.dat", ios::binary | ios::in);
    if(!FileStreet)
    {
        ErrorAddClient(L"Невозможно открыть файл \"Streets.dat\"");
        return;
    }
Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.08.2012, 15:50
Ответы с готовыми решениями:

Информация по работе с бинарными файлами
У меня возникла проблема при работе с бинарными файлами, вернее нет инфо чтоб почитать, да и хелп скуден, вышлите по мылу или скиньте сюда...

Есть ли литература по работе с бинарными файлами?
Здравствуйте. Есть ли литература по работе с бинарными файлами на JAVA? За ранее спасибо!

Переписать исходник С под С# по работе с бинарными файлами
Есть код под Си (брал исходник в интернете, нужно было для работы, чуть правил): #define _CRT_SECURE_NO_WARNINGS #include...

45
 Аватар для Holsteng
48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246
02.08.2012, 22:28  [ТС]
Студворк — интернет-сервис помощи студентам
Виноват! Конец дня... Спасибо большое
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2012, 22:35
И вопрос, вдогонку: зачем вам бинарное чтение-запись, если код у вас с текстом работает?
0
 Аватар для Holsteng
48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246
02.08.2012, 22:41  [ТС]
Мне прийдется обнулять данные, в частности, у меня есть в файле название улицы, а на форме есть кнопка "Удалить", буду заходить в файл и обнулять данные. Как - то так... Да, Вы лучше меня, знаете удобство бинарных файлов.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.08.2012, 22:43
Ну а какое тут удобство? Для этого не нужен бинарник...
Храните данные в памяти там же делайте операции, периодически сохраняйте в файл.
0
 Аватар для Holsteng
48 / 11 / 2
Регистрация: 26.03.2012
Сообщений: 246
02.08.2012, 23:00  [ТС]
Вы правы, как - то не задумывался. Как Вы видите, я плохо разбираюсь с бинарными файлами, поэтому и хорошо что вожусь с ними. Спасибо.

Кстати, подскажите. Запись в файл string, создаю я переменную
Code
1
string str("");
, записываю в файл, а что писать
Code
1
FileStreet.write( reinterpret_cast<char *>( &str ), sizeof(str.size )
Code
1
 в sizeof (здесь)?
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
03.08.2012, 07:51
Для начала определитесь, будете ли вы работать с расширенными символами. Если да, то не завывайте об этом. То есть, wfstream FileStreet("My file.txt", ios::app); (не ставьте L перед именем файла, MVSC это пропускает, другие (например, mingv) нет), wstring str; (пробелами string заполнять нет надобности, если же помещаете строковый литерал в wstring, то не забывайте ставить L перед кавычками), FileStreet << str; (один из способов записи строки в файл ). И почитайте, какие методы существуют в классе string (wstring), чтобы можно было с ними работать. Размер, получают так: str.size();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.08.2012, 07:51
Помогаю со студенческими работами здесь

Работа с бинарными файлами: какой способ работает наиболее быстро при записи и считывании?
Всем привет прошу помощи по этой теме. Попробую изложить кратко: 1) Есть не бинарный файл -&gt; Считываю его ifstream -&gt; работаю с...

Ошибка при работе с файлами
Всем привет! Кто подскажет, почему не работает этот код: FILE *file; int i = 0; if((file = fopen(baseFile, &quot;r&quot;)) ==...

Ошибка при работе с файлами
Столкнулся с такой проблемой, что если выбран FileMode.OpenOrCreate, то значения в массив выводятся те, которые я вводил до этого(смотреть...

Многопоточность при работе с файлами
Доброй ночи! Написал код для сравнения двух файлов: string text, text2; bool write = true; a...

Ошибка при работе с файлами
Sub â_ïðîåêòèðîâàíèå() If Dir(ActiveWorkbook.Path &amp; &quot;\Google Äèñê\Projects\&quot; &amp; Worksheets(&quot;èñõîäíûå äàííûå&quot;).Cells(1, 2).Value,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
46
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru