【发布时间】:2016-04-15 10:25:45
【问题描述】:
我想读取一个包含 uint16_t 值的二进制文件。到目前为止我所做的是:
std::ifstream is;
std::vector<char> rawfilebuffer; /* should be std::vector<uint16_t> */
is.open("uint16_t_file.raw", std::ios::binary);
is.seekg(0, std::ios::end);
size_t filesize=is.tellg();
is.seekg(0, std::ios::beg);
rawfilebuffer.reserve(filesize);
rawfilebuffer.assign(std::istreambuf_iterator<char>(is),
std::istreambuf_iterator<char>());
使用std::istreambuf_iterator<char>不起作用(error: no matching conversion for functional-style cast from 'std::ifstream')。
是否可以将 istreambuf_iterator 转换为 uint16_t?
【问题讨论】:
-
你在 istreambuf_iterator 中把 char 改成 uint16_t 了吗?