【发布时间】:2017-10-05 15:15:23
【问题描述】:
如何在 C++ 中将任何文件类型读取为二进制文件?到目前为止,我已经能够使用std::bitset 读取二进制文件中的 .txt 文件,如下所示:
std::ifstream myfile;
myfile.open("example.txt", std::ios::binary);
while (getline (myfile, line) ) {
for (std::size_t i = 0; i<line.size(); ++i) {
std::bitset<8> a = std::bitset<8>(line[i]); //convert every character to binary, save it in a
std::cout<<((char)std::bitset<8>(a).to_ulong())<<'\n';
}
}
在第一行中,我如何将sound.mp3 或word.docx 之类的文件作为二进制文件读取?我知道它们实际上只是二进制文件,但是我怎样才能读取它们呢?
谢谢!
【问题讨论】:
-
这是一个计算机程序。所有文件都是二进制文件...
-
在 C++ 标准库中查找“转换”。 cplusplus.com/reference/algorithm/transform/?kw=transform
-
@fredrik 我该如何阅读它们?
-
您可以使用
read从二进制文件读取内存块,然后将每个字符转换为位。 -
@GiliL。可以举个例子吗?