我正在尝试使用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/

10-10 09:13