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

Как записать битсет в файл? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как сделать, чтобы модальное окно закрылось по условию? http://www.cyberforum.ru/cpp-beginners/thread48179.html
Предполагается модальное диалоговое окно ProgressSave с прогресс баром и кнопкой ОК. Надо чтобы по завершении прогресса окно само закрылось и передало управление основной программе. Прогресс ещё не...
C++ Программирование операций из массивом структур Прива всем, Пацаны помогите лабу 21 зделать. Тема: Программирование операций из массивом структур. Задание: Ввести перелік студентів, які не склали другий та третій іспити. http://www.cyberforum.ru/cpp-beginners/thread48176.html
Передача массивов в функцию C++
пиши сюда M128K145, Тема: Передача масивів у функцію. Задание: Виконати завдання лабораторних робіт №13 (Програмування операцій з одновиміпними масивами) і №16 (Програмування операцій з...
C++ Шаблоны функций
Rififi, привет какой у тебя емеил Добавлено через 58 минут 9 секунд тема: Шаблони функції Помогите написпть код програми на Turbo C++ Теоретичні відомості: за допомогою шаблона ...
C++ Вывод последовательности чисел (цикл с параметром) http://www.cyberforum.ru/cpp-beginners/thread48140.html
Ребят выручайте((( №4 « Циклы» Блок А. Вывод последовательности чисел (цикл с параметром) 1. Вывести «столбиком» значения: 2,1 2,2 2,3 ... 2,8 Блок Г. Цифры числа (цикл с условием)...
C++ Про функции и файлы Вобщем начал изучать С++ добрался до файлов задумал написать примитивный справочник телефонный с возможностью сохранения чтения и поиска в файле но это потом застопорился на вот таком моменте:... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9627 / 5575 / 947
Регистрация: 25.07.2009
Сообщений: 10,710
25.08.2009, 04:21
Цитата Сообщение от mdj Посмотреть сообщение
Пробовал, получается что записывает он не биты, а символы. Т.е. здесь file.txt будет 4 байта. А мне нужно записать непосредственно биты.
Могу ошибаться, но на сколько знаю, структуры (не важно, объявленные, как struct, или std::bitset - по сути примерно то же самое) выравниваются по границе слова. Файл, который пишет моя програмка, тоже состоит из 4 байт:
Код
$ hexdump test.bin 
0000000 008e 0000
Причём странную особенность заметил: собранная компилятором gcc для cygwin (версию на работе посмотрю, сейчас не помню, но ставил года два назад...) первым байтом пишет 8e, а дальше нули. А gcc 4.3.2 под debian пишет три байта мусора. Пришлось ещё <string.h> добавить и две строки:
C
1
2
bzero((void *)&tw, sizeof(struct timer3h));
bzero((void *)&tr, sizeof(struct timer3h));
Короче, попробуйте битовые поля по границе слова выравнивать (4 байта для 32 битных систем, для 64 битных видимо в два раза больше будут)...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru