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

Запись в двоичный файл - C++

Восстановить пароль Регистрация
 
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
04.12.2010, 12:07     Запись в двоичный файл #1
Нужно в двоичный файл 80-символьный заголовок и 4 байтовое беззнаковое целое число.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//..
        #include <fstream>
        //..
        std::ofstream file;
    file.open("test.stl", std::ios::binary | std::ios::trunc);
 
    char buf[80];
 
    if ( !file )
    {
        ::MessageBox(0, TEXT("Error open file!"), 0, 0);
        return;
    }
 
    file.write(buf, 80);
 
        int _NumTriangles = 130050;
        
    file << UINT(_NumTriangles);
 
    file.close();
В файл записывается, как текст, а не биты.
Код
ММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММ130050
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2010, 12:07     Запись в двоичный файл
Посмотрите здесь:

C++ двоичный файл
Двоичный и текстовый файл на C++ C++
Двоичный файл C++
C++ Двоичный файл типа float
C++ С++ записать в файл двоичный код
Как прочитать двоичный файл C++
Двоичный файл, целые числа C++
C++ Неправильно читает двоичный файл
Двоичный вывод в файл C++
Запись массива в двоичный файл C++
C++ Запись класса в двоичный файл
C++ Двоичный ввод/вывод в файл

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
04.12.2010, 13:00     Запись в двоичный файл #2
Цитата Сообщение от insolent Посмотреть сообщение
file << UINT(_NumTriangles);
Для двоичной записи надо использовать fstream::write.
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
04.12.2010, 13:29  [ТС]     Запись в двоичный файл #3
kazak, в write нужно передать массив символов и размер записываемого блока, правильно? Мне нужно будет число конвертировать в строку, а потом записывать в файл?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
04.12.2010, 13:40     Запись в двоичный файл #4
Необязательно, можно так
C++
1
file.write((char*)&_NumTriangles, sizeof(_NumTriangles));
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
04.12.2010, 14:24  [ТС]     Запись в двоичный файл #5
kazak, Спасибо, вопрос решился)

ЗЫЖ если мне записать в файл число(например, 0), как 16-битное:
C++
1
file.write((char*)0, sizeof(short));
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
04.12.2010, 14:27     Запись в двоичный файл #6
С константами номер не прокатит
Yandex
Объявления
04.12.2010, 14:27     Запись в двоичный файл
Ответ Создать тему
Опции темы

Текущее время: 15:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru