如何以字节形式读取文件,而不是使用矢量。
通过使用它,我可以将整个文件读入Bytes的矢量。
std::basic_ifstream<BYTE> file(driveName, std::ios::binary);
vector<BYTE> x = std::vector<BYTE>(
(std::istreambuf_iterator<BYTE>(file)),
std::istreambuf_iterator<BYTE>() );
但是,我想首先读取512个字节,然后读取'x'字节,'x1'字节等, 调整大小选项在这里不起作用。
我看到了这个链接,reading the binary file into the vector of unsigned chars,这造成了更多的混乱。
对此有任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用较低级别的界面:
std::ifstream ifs(filename, std::ios::binary);
char buf1[512];
ifs.read(buf1, sizeof(buf1) / sizeof(*buf1));
char buf2[x];
ifs.read(buf2, sizeof(buf2) / sizeof(*buf2));
char buf3[x1];
ifs.read(buf3, sizeof(buf3) / sizeof(*buf3));
只需检查EOF和错误。