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函数,它仍然会崩溃。顺便说一下,这段代码在主窗口的消息处理函数中。

最佳答案

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

08-19 19:00