Допустим, у меня есть битовое поле, которое составляет 32 бита.Я хочу вывести их в двоичный файл, давайте назовем его «binary.bin».Как мне сделать это без сбоев Visual Studio?
Я нашел так мало информации о подобных вещах из предыдущих поисков в Google, что я понятия не имею, что делать.Обычный ответ: «никто не использует битовые поля lmao», но оказывается, что мне нужно использовать битовые поля для работы.
Я понимаю, что битовые поля иногда меньше 8 бит, что делает невозможным размещение в байте, что делает егос этим трудно работать, но это не значит, что я не могу взять 32-битное битовое поле и поместить его в двоичный файл, верно?
Я нашел информацию о печати в двоичный файл в другом месте, надеюсь.это работает.
struct bitfield {
unsigned int b1 : 22;
unsigned int b2 : 4;
unsigned int b3 : 5;
unsigned int b4 : 1;
};
int main(){
std::ofstream ofile("binary.bin", std::ios::binary);
ofile.write((char*)&bitfield.b1, sizeof(unsigned int));
return 0;
}
Это даже не работает, и я не знаю почему, мне не нравится, когда я говорю bitfield.b1
Буду признателен за любую помощьты можешь бросить в меня ?