我在对话框中添加了一个简单的Cedit控件,并进行了OnEnChangeEdit
回调。我正在尝试检索在框中键入的文本,但只能获得下面对printf的调用中键入内容的第一个字符:
void MFCDlg::OnEnChangeEdit() {
CString s;
m_platformSliceOverrideEditBox.GetWindowText(s);
_cprintf("%s", s.GetString());
}
如果有帮助我使用Unicode字符集进行编译。
答案 0 :(得分:2)
_cprintf
期待ansi字符串。如果您使用的是unicode,那么它将停在第一个字符处,因为第二个字节将为空。
使用_tcprintf
代替在构建为unicode时期望宽字符串。