C++ Win32 是字符串问题
C++ Win32 IStream to string problems
注意:我已经用谷歌搜索,搜索并尝试了我发现的每一件事。
真正的问题是我正在尝试将IStream
用于诸如get, getline, read, put
错误,IStream has no member named 'read'
代码:
// For version info and etc
HRSRC srcTest = FindResource(NULL, MAKEINTRESOURCE(2), RT_VERSION);
HGLOBAL hGlobal = LoadResource(NULL, srcTest);
// Gets the size of the resource, and locks it to get a pointer
int size = SizeofResource(NULL, srcTest);
LPVOID resPtr = LockResource(hGlobal);
hGlobal = GlobalAlloc(GMEM_FIXED, size);
// Copies the raw data into allocated space
memcpy(hGlobal, resPtr, size);
// Cleans
FreeResource(hGlobal);
// Creates a stream
IStream* in = NULL;
CreateStreamOnHGlobal(hGlobal, true, &in);
// One example test
std::string ret;
char buffer[4096];
while (in->read(buffer, sizeof(buffer)))
ret.append(buffer, sizeof(buffer));
ret.append(buffer, in.gcount());
资源直接来自资源文件中的VERSION_INFO
。我已经测试过了,这绝对不是问题。
谢谢。
C++区分
大小写;该方法名为Read()
(它实际上是在IStream
继承自ISequentialStream
中定义的(。
需要三个参数,而不是您尝试传递它的两个参数。
HRESULT Read( [out] void *pv, [在] 乌龙cb,[出]乌龙 *印刷电路板读取(;
参数
pv [out] 指向流数据读入的缓冲区的指针。
cb [in] 要从流对象读取的数据字节数。
pcbRead [out] 指向接收实际 ULONG 变量的指针 从流对象读取的字节数。
相关文章:
- 编译包含字符串的代码时遇到问题
- setlocale的C++土耳其字符串问题
- 当我尝试添加 2 个大字符串时,我无法弄清楚出了什么问题
- 使用自定义比较函数使用std::sort()对矢量字符串进行排序时出现问题
- 我的逻辑反转字符串中的元音有什么问题?
- 按字母顺序对C++问题中的子字符串索引进行分区
- 用户输入字符串的文件附加问题..C++
- 使用 minijson-reader 库读取 JSON 字符串时出现问题
- 在将字符串放入字符串向量时遇到问题?
- 将文件复制到自定义位置,存在字符串转换问题
- 从 argv[1] 转换为字符 * 字符串后有什么问题?
- 不确定出了什么问题(字符串输入)
- 反向和计数字符串的 C++ 问题
- 反转具有返回值的字符串时出现问题
- C++字符串问题-如何访问字符串元素
- public:静态常量字符串声明/初始化问题
- 在MySql中使用字符串操作函数有什么问题
- Libwesockets.h:lws_write:C++字符串到C的转换和发送问题
- 问题:字符串在另一个字符串上写入
- 日志文件输出的问题-字符串和c_str之间的差异- c++