在我的程序中,我需要在MessageBox中放入一个CString变量。我使用以下代码:
messagebox("hi" + txt);
但是我收到以下错误消息:
错误C2678:二进制' +' :找不到哪个运营商需要 左手操作数类型' const char [3]' (或者没有可接受的 转化率)
答案 0 :(得分:0)
使用CString的格式化方法。 Format方法可以像printf,sprintf一样工作。
实施例
CString str ;
str.Format("Hi %s", txt);
答案 1 :(得分:0)
您可以使用CString变量进行格式化,然后将其传递给MessageBox
_T()是Unicode或MBCS的宏
您应该确保txt
编码为str
,
CString str;
str.Format(_T(“Hi%s”),txt);
答案 2 :(得分:0)
使用_T
macro将字符串文字包装成CString
:
messagebox(_T("hi") + txt);