MFC中的CEdit和GetwindowText

时间:2012-04-26 11:13:59

标签: c++ visual-studio mfc

我在对话框中添加了一个简单的Cedit控件,并进行了OnEnChangeEdit回调。我正在尝试检索在框中键入的文本,但只能获得下面对printf的调用中键入内容的第一个字符:

void MFCDlg::OnEnChangeEdit() { 
  CString s; 
  m_platformSliceOverrideEditBox.GetWindowText(s); 
  _cprintf("%s", s.GetString());
}

如果有帮助我使用Unicode字符集进行编译。

1 个答案:

答案 0 :(得分:2)

_cprintf期待ansi字符串。如果您使用的是unicode,那么它将停在第一个字符处,因为第二个字节将为空。

使用_tcprintf代替在构建为unicode时期望宽字符串。