0
SendMessage(hEditControl, WM_GETTEXT,255,(LPARAM)editbuffer);
 GetWindowText(hTextControl, (LPWSTR)allText,GetWindowTextLength(hTextControl));

//allText = appendStrings((char*)TEXT("whatever"), (char*)TEXT("whatever"));
SetWindowText(hTextControl, (LPCWSTR)allText);

//where editbuffer and allText are defined as:

    static WCHAR*       editbuffer;
    static WCHAR*       allText;

其中 hEditControl 是编辑控件的句柄,hTextControl 是静态文本控件的句柄。我想从编辑控件中获取数据并将其附加到静态控件文本中。但是我的程序在 getwindowtext 函数处崩溃,我不知道为什么。即使没有 appendstring 函数,它仍然会崩溃。顺便说一句,这段代码在我的主窗口的消息处理函数中。

4

1 回答 1

3

您的两个缓冲区没有为它们分配空间,因此写入它们的任何内容都是未定义的行为。您需要分配内存,最好是静态的editBuffer和动态的allText,因为 C++ 不支持 VLA。

于 2012-07-21T04:09:29.560 回答