将二进制文件转储到Boost dynamic_bitset

时间:2018-11-30 00:49:14

标签: c++ boost fstream boost-dynamic-bitset

我试图从二进制文件中读取,然后将这些位写入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?

0 个答案:

没有答案