我在对话框中添加了一个简单的 Cedit 控件,并有一个 OnEnChangeEdit
回调。我正在尝试检索在框中键入的文本,但只能获取在下面调用 printf 时键入的第一个字符:
void MFCDlg::OnEnChangeEdit() {
CString s;
m_platformSliceOverrideEditBox.GetWindowText(s);
_cprintf("%s", s.GetString());
}
如果有帮助的话,我正在使用 Unicode 字符集进行编译。
最佳答案
_cprintf
需要 ansi 字符串。如果您使用 unicode,那么它将在第一个字符处停止,因为第二个字节将为空。
使用 _tcprintf
来代替,当您构建为 unicode 时,它会期望宽字符串。
关于c++ - MFC 中的 CEdit 和 GetwindowText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10332266/