我正在尝试使用StringCchCat函数:
HRESULT X;
LPWSTR _strOutput = new wchar_t[100];
LPCWSTR Y =L"Sample Text";
X = StringCchCat(_strOutput, 100, Y);
但是由于某些原因,我不断收到“ E_INVALIDARG一个或多个参数无效。” X错误。_strOutput也充满了一些随机字符。
这实际上是更大程序的一部分。所以我想做的是将“示例文本”连接到空的_strOutput变量。这是在循环内,因此会发生多次。对于此特定示例,就像是我将文本“示例文本”分配给_strrOutput一样。
有任何想法吗?
最佳答案
字符串复制/合并函数查找空终止符,以将复制/合并到何处。您需要将_strOutput
的第一个元素初始化为零,以便缓冲区以null终止,然后可以根据需要将值复制/连接到它:
LPWSTR _strOutput = new wchar_t[100];
_strOutput[0] = L'\0`; // <-- add this
X = StringCchCat(_strOutput, 100, Y);
关于c++ - 使用,StringCchCat,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28518530/