Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
insolent
827 / 345 / 64
Регистрация: 30.01.2009
Сообщений: 1,204
1

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

04.12.2010, 12:07. Просмотров 906. Ответов 5
Метки нет (Все метки)

Нужно в двоичный файл 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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2010, 12:07
Ответы с готовыми решениями:

Запись класса в двоичный файл
Добрый день дорогие друзья. никак не могу осуществить запись\чтение класса в...

Запись массива в двоичный файл
Здравствуйте. Нужно организовать заполнение двоичного файла случайными целыми...

Запись в двоичный файл портит данные
Есть файл, в который в двоичном формате записываются структуры. Нужен метод,...

Текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый
Всем привет. Есть такая задачка: &quot;текстовый файл перевести в двоичный, а потом...

Задан текстовый файл, необходимо по нему сформировать двоичный файл индексов
Нужна помощь! Задача: Задан текстовый файл, необходимо по нему сформировать...

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

ЗЫЖ если мне записать в файл число(например, 0), как 16-битное:
C++
1
file.write((char*)0, sizeof(short));
0
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
04.12.2010, 14:27 6
С константами номер не прокатит
0
04.12.2010, 14:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2010, 14:27

Создать текстовый файл и записать в двоичный файл
В программах необходимо использовать только динамические структуры. 1....

Двоичный файл
Помогите пожалуйста...задачка попалась...не могу понять как решить... В...

двоичный файл
помогите пожалуйста! вначале создаю двоичный файл и заполняю его целыми...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru