【发布时间】:2010-03-16 19:59:14
【问题描述】:
我想从同一个 iostream 中读取格式化文本和二进制数据。我该怎么做?
为什么?想象一下这种情况:您有不同的资源,以及它们的资源加载器,它们将 std::istream 作为参数。并且有一个“资源源”提供这些流。资源既可以是文本也可以是二进制的,我需要使用资源加载器来处理这两种情况。
或其他情况:您有一个包含混合类型资源的存档的图像。如何从二进制存档流中获取文本流?
【问题讨论】:
我想从同一个 iostream 中读取格式化文本和二进制数据。我该怎么做?
为什么?想象一下这种情况:您有不同的资源,以及它们的资源加载器,它们将 std::istream 作为参数。并且有一个“资源源”提供这些流。资源既可以是文本也可以是二进制的,我需要使用资源加载器来处理这两种情况。
或其他情况:您有一个包含混合类型资源的存档的图像。如何从二进制存档流中获取文本流?
【问题讨论】:
二进制模式所做的只是防止对换行符进行特殊处理。 C++ 没有“资源”或“资源类型”的概念。只需以二进制模式读取所有内容。
【讨论】: