visual studio 2005中,字符串的问题

控件关联的变量CString类型,要在MessageBox中显示出来,可是MessageBox中不能直接用字符串,怎么转换呢charmc[60]="DataforEmpl... 控件关联的变量CString类型,要在MessageBox中显示出来,可是MessageBox中不能直接用字符串,怎么转换呢
char mc[60]="Data for Employee code: "+m_Ecode+" Employee name:"+m_Fname+" "+m_Lname+" is accepted.";
MessageBox(mc);

错误 1 error C2678: binary '+' : no operator found which takes a left-hand operand of type 'const char [25]' (or there is no acceptable conversion) e:\program\vc\myfirstapplication\myfirstapplication\myfirstapplicationview.cpp 154

错误 2 error C2664: 'CWnd::MessageBoxW' : cannot convert parameter 1 from 'char [60]' to 'LPCTSTR' e:\program\vc\myfirstapplication\myfirstapplication\myfirstapplicationview.cpp 155
string mc;
mc="Data for Employee code: "+m_Ecode+" Employee name:"+m_Fname+" "+m_Lname+" is accepted.";
MessageBox((LPCTSTR)mc);

错误 1 error C2065: 'string' : undeclared identifier e:\program\vc\myfirstapplication\myfirstapplication\myfirstapplicationview.cpp 152

CString mc;
mc="Data for Employee code: "+m_Ecode+" Employee name:"+m_Fname+" "+m_Lname+" is accepted.";
MessageBox((LPCTSTR)mc);

错误 1 error C2678: binary '+' : no operator found which takes a left-hand operand of type 'const char [25]' (or there is no acceptable conversion) e:\program\vc\myfirstapplication\myfirstapplication\myfirstapplicationview.cpp 153
展开
 我来答
xniren
2008-09-20 · TA获得超过1154个赞
知道小有建树答主
回答量:554
采纳率:100%
帮助的人:519万
展开全部
1、串通过操作符“+”连接以后不能赋值给char [60]类型的变量,但是可以赋值给string类型变量,如:
string mc = "A" + "BCD";
2、方法CWnd::MessageBoxW()接收的第一个参数类型不匹配,允许进行强制转换,比如:
MessageBox((LPCTSTR)mc);

针对问题补充:
1、如果使用类型string,那么需要
#include <string>
才能识别。
2、如果使用类型CString,那么等号右边的所有连接参数都必须为CString或char *类型的。m_Ecode应该不是这两种类型之一吧?其实可以将指令
mc="Data for Employee code: "+m_Ecode+" Employee name:"+m_Fname+" "+m_Lname+" is accepted.";
换成
mc.Format("Data for Employee code: %d Employee name: %s %s is accepted.", m_Ecode, m_Fname, m_Lname);
前提是m_Ecode为int类型,m_Fname和m_Lname为char *或CString类型。
3、同样,如果mc如下定义:
char mc[60];
也可以这样为之赋值:
sprintf(mc, "Data for Employee code: %d Employee name: %s %s is accepted.", m_Ecode, m_Fname, m_Lname);
效果与第2点相同。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式