2

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

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

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

4

1 回答 1

2

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

改用_tcprintf它将在您构建为 unicode 时期望宽字符串。

于 2012-04-26T11:20:43.487 回答