C++ 什么';它是LPSTREAM对象,我如何使用它?
我正在尝试编写一个函数,它将下载网站的HTML源代码,并以字符串、列表、数组或任何可用格式返回它。为此,我使用了一个看起来很方便的函数,名为,它将下载一个网站的HTML源代码,并将其放置在LPSTREAM类型的对象中C++ 什么';它是LPSTREAM对象,我如何使用它?,c++,stream,C++,Stream,我正在尝试编写一个函数,它将下载网站的HTML源代码,并以字符串、列表、数组或任何可用格式返回它。为此,我使用了一个看起来很方便的函数,名为,它将下载一个网站的HTML源代码,并将其放置在LPSTREAM类型的对象中 //Saves the HTML souce of stackoverflow.com in the object "lps", of type LPSTREAM. HRESULT hr = URLOpenBlockingStream(0, "http://www.stackove
//Saves the HTML souce of stackoverflow.com in the object "lps", of type LPSTREAM.
HRESULT hr = URLOpenBlockingStream(0, "http://www.stackoverflow.com/", &lps, 0, 0);
这是什么?我在互联网上的任何地方都找不到LPSTREAM的参考资料,也没有人解释我是如何从那里获取数据的。它可能只是一个IStream对象,但即使这样也没有帮助,因为在char数组中使用插入运算符会产生错误。它是指向一个字符串的指针。“LP”代表“长指针”,现在它只是“指针”的意思。这是Windows SDK中常见的命名约定,例如请参见LPVOID
(void*
)和LPWSTR
(wchar\t*
)
通过查找类型在SDK中声明的位置(即,在您包含的标题中),您始终可以找到类型是什么。或者,在本例中,您正在调用的函数的文档说明了关于ppStream
参数的以下内容:
指向此函数创建的流对象上的接口的指针。调用者只要有了这个指针就可以从流中读取数据
啊,脸掌。谢谢你的快速回复!