【发布时间】:2016-10-09 10:32:21
【问题描述】:
我已经使用下面的代码读取了一个二进制文件(在我的例子中是 .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>()));
}
现在我有两个问题。
首先我想知道,这是在 unsigned char 数组中读取 .docx 文件的正确方法吗?还是有更好的选择?
其次,我需要打印在 unsigned char 数组中读取的文件内容,以验证它是否正确读取了文件。如何实现?
【问题讨论】:
-
为什么是无符号字符?
-
打印一个 .docx 文件不会给你任何可读的东西。
-
@BoPersson:肯定会的。 ...哦,您的意思一定是它不会显示该文档中的文本 - 不,它不会,但是 OP 没有明确说明他期望它。
-
我需要确保文件已被读取并成功存储在无符号字符数组@RadLexus