在Windows平台的C++中,是否有简单方法将现有的std::stream对象创建为(COM) IStream接口? 一个示例是使用IWICStream::InitializeFromIStream()从std::cin读取图像。
目前还没有标准的实现方法。您需要编写自己的类(或找到第三方类),实现IStream接口,并在必要时内部委托给std::stream。 但是,实现IStream :: Stat()可能会遇到问题,该函数通常用于检索流的数据大小。在std::cin的情况下,您将不知道提供了多少数据。
cin
读取二进制数据是可以的:https://dev59.com/iGsz5IYBdhLWcg3w5ME0#11259588。在Windows上没有理由使管道受到破坏。 - Mark Ransom