我用下面的代码来读取二进制文件(在我的情况下是.docx文件),并将它存储在unsigned char数组中而不是char(参考文献Reading and writing binary file)将文件存储在无符号字符数组中并打印出来
#include <fstream>
#include <iterator>
#include <vector>
int main()
{
std::ifstream input("C:\\test.docx", std::ios::binary);
std::vector<unsigned char> buffer((std::istreambuf_iterator<unsigned char>(input)),
(std::istreambuf_iterator<unsigned char>()));
}
现在我有两个问题。
我想知道的第一件事是,这是一个读取无符号字符数组中的.docx文件的正确方法吗?还是有更好的选择?
其次,我需要打印在unsigned char数组中读取的文件内容,以验证它是否正确读取了文件。这怎么能实现?
为什么unsigned char? –
打印.docx文件不会给你任何可读的东西。 –
@BoPersson:当然可以。 ......哦,你的意思是*它不会显示文件内的文字* - 好吧,不,不会,但是OP没有明确说明他预期的结果。 – usr2564301