0

バイナリファイルからの入力ストリームがあります。ストリームの最初の5ビットのビットセットを作成したいと思います。これが私がこれまでに持っているコードです:

ifstream is;    
is.open ("bin_file.out", ios::binary );

bitset<5> first_five_bits;

is >> first_five_bits; // always is set to default 00000
4

2 に答える 2

2
char c;
if( ! cin.get(c) ) throw ROFL();  // return error, flip bit, call mom
bitset<5> first_five_bits(c >> (CHAR_BIT-5));  // CHAR_BIT in <climits>
于 2010-06-03T14:52:52.377 に答える
1

ストリームはビットでは機能しないため、バイトを読み込んでビットセットに設定する必要があります。

コンパイルされていない、テストされていない:

char c;
is >> c;
bitset<5> first_five_bits(c >> 3);
于 2010-06-03T14:56:35.090 に答える