用c++编写求两个函数的和,选择求和按钮后,将结果显示在edit box中,vc6.0中可运行,为什么在vs2010中不行

//m_control1,m_control2,m_control3都为控件变量错误显示为:(1)、errorC2664:“intCWnd::GetWindowTextW... //m_control1,m_control2,m_control3都为控件变量
错误显示为: (1)、error C2664: “int CWnd::GetWindowTextW(LPTSTR,int) const”: 不能将参数 1 从“char [10]”转换为“LPTSTR”
(2)、error C2664: “CWnd::SetWindowTextW”: 不能将参数 1 从“char [10]”转换为“LPCTSTR”
void CTestDlg::OnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
int num1,num2,num3;
char ch1[10],ch2[10],ch3[10];
m_control1.GetWindowTextW(ch1,10);
m_control2.GetWindowTextW(ch2,10);
num1=atoi(ch1);
num2=atoi(ch2);
num3=num1+num2;
itoa(num3,ch3,10);
m_control3.SetWindowTextW(ch3);
展开
 我来答
Bk0X
2012-06-29 · TA获得超过9413个赞
知道小有建树答主
回答量:1217
采纳率:60%
帮助的人:671万
展开全部
第一种方法 :
把代码中全部的char [xxx] 或者 char* 改成wchar_t [xx], wchar_t*
所有的字符串字面值加上L前缀, "abc" 改成 L"abc"

第二种方法 :
项目属性中-常规-把[使用Unicode字符集]改成[使用多字节字符集]
并且所有代码中的 后缀为W的系统函数, 改成A, 比如GetWindowTextW改成 GetWindowTextA

LZ的代码VC6真可以运行?
你的字符是char*(8位字符), 但是调用的函数后缀都是W (要求16位宽字符).
后缀是W的要求参数是 wchar* , 后缀是A的要求参数 char*, 不一样的.
rm_2013
2012-06-29 · TA获得超过459个赞
知道小有建树答主
回答量:281
采纳率:100%
帮助的人:167万
展开全部
别用char类型,改用TCHAR

或者在项目配置里,不要用Unicode字符集,改成“Use Multi-Byte Character Set”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式