我试图从二进制文件中读取,然后将这些位写入boost:dynamic_bitset
。
示例代码:
#include <iostream>
#include <fstream>
#include <string>
#include <boost/dynamic_bitset.hpp>
int main(int argc, char * argv[]) {
boost::dynamic_bitset<> fileBits(16);
std::string fileName = argv[1];
// fileName
std::cout << "fileName:\t" << fileName << std::endl;
std::ifstream file(fileName, std::ios::in | std::ios::binary);
// before
std::cout << "bitset size:\t" << fileBits.size() << std::endl;
file >> fileBits;
// after
std::cout << "bitset size:\t" << fileBits.size() << std::endl;
return 0;
}
但是当我运行./test pong.ch8
时,我的输出是:
fileName: pong.ch8
bitset size: 16
bitset size: 0
我的文件是264个字节,为什么位集的大小为0?