Форум программистов, компьютерный форум CyberForum.ru

Бинарная запись в файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция отслеживающая изменение состояния переменной http://www.cyberforum.ru/cpp-beginners/thread1091183.html
Ребята, помогите пожалуйста написать в теме указанную функцию. Поясню. Есть неподвластная мне переменная из приложения к которой я пишу дополнение. В самом приложении имеется внутренний таймер, который с определённой частотой запускает все дополнения, включая моё. В моём дополнении есть функция считывающая значение нужной мне переменной. Мне хотелось бы сделать так что бы при изменении...
C++ Осуществить поиск в списке Здравствуйте,вот такая вот проблема у нас новый препод она первый год преподает, предмет очень тяжело на практике нечего не успеваю нужна ваша помощь. Осуществить поиск в списке. В случае отсутствия нужного значения генерировать исключения, иначе вернуть указатель на найденный элемент. Буду благодарен очень сильно если поможете. И Пожалуйста с комментариями если можно что бы разобраться и... http://www.cyberforum.ru/cpp-beginners/thread1091180.html
Видеокурсы C++
Есть такой видеокурс http://cwer.ws/node/270511/ только он старый, и можно ли по нему учится и делать все приложения в Visual Studio 2013 Интересует создание программ(оконных приложений) для винды
Как правильно открыть WAV файл C++
Ребята, такое дело. Есть функция IDirectSoundBuffer8 *CreateBufferFromWAV(FILE *fp, sWaveHeader *Hdr) { IDirectSoundBuffer *pDSB; IDirectSoundBuffer8 *pDSBuffer; DSBUFFERDESC dsbd; WAVEFORMATEX wfex;
C++ Ошибка при выделении памяти http://www.cyberforum.ru/cpp-beginners/thread1091128.html
Вопрос: из-за чего программа может рушится? int *NRRow = new int ; int *NRow = new int ; int *NCol = new int ; //тут код. всякие преобразования массивов и тд delete NCol; delete NRRow; delete NRow; на делитах программа рушится. Закоменчиваю код - работает. N где-то порядка 50, NZ где-то от 300.
C++ Исключительные операции, класс и вызовы Алгоритм задачи 1. Повторять действия, пока не получено правильного результата 1.1. Увести число и его степень. 1.2. Если число >0, то возвести число в введенную степень. 1.3. Если число <0, то произвести такие действия: 1.3.1. Выделить целую и дробную части степени. 1.3.2. Если дробная часть степени равняется 0 и его целая часть непарная, тогда возвести число в степень и получить... подробнее

Показать сообщение отдельно
JunCpp
Сообщений: n/a
07.02.2014, 08:24     Бинарная запись в файл
Приветствую!

Пишу архиватор. Нужно записать в файл бинарные данные и казалось бы ничего сложного...
Открываю/создаю файл для вывода

C++
1
2
3
std::ofstream output_file;
output_file.open(path_file.c_str(), std::ios::binary | std::ios::out);
assert(output_file.is_open(), "Error! Output file not open.");
Нужно заполнить словарь(std::map), парой std::string + unsigned short


C++
1
2
3
4
5
6
7
uint counter_combination = 0;
while(counter_combination < 256) 
        {
        std::string symbol;
        symbol.push_back(static_cast<char>(counter_combination));
        alphabet[symbol] = counter_combination++;
        }
записать в файл unsigned short

C++
1
output_file.write(reinterpret_cast<char*>(&iter_alphabet->second), sizeof(iter_alphabet->second));
В итоге запись в файл формата .dat - текстовая.
Но, если я заполняю словарь начиная с префиксного инкремента ++counter_combination (как бы это не смешно звучало) , то вывод, в файл происходит в бинарном виде.
Т.е.
C++
1
2
3
4
5
6
7
uint counter_combination = 0;
while(counter_combination < 256) 
        {
        std::string symbol;
        symbol.push_back(static_cast<char>(counter_combination));
        alphabet[symbol] = ++counter_combination;
        }
Думал что дело в нуле
Но при
C++
1
2
uint counter_combination = 1;
counter_combination++;
вывод в файл тоже текстовый.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru