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
。