您的位置:首页 > 其它

int CWnd::GetWindowTextW(LPTSTR,int) const”: 不能将参数 1 从“char [10]”转换为“LPTSTR”

2015-04-15 14:19 711 查看
问题描述:

[cpp] view
plaincopy

//定义了三个编辑框控件 接受num1 num2 num3

void CTestDlg::OnBnClickedButton1() //响应按钮 add

{

// TODO: 在此添加控件通知处理程序代码

int num1,num2,num3;

char ch1[10],ch2[10],ch3[10];

GetDlgItem(IDC_EDIT1)->GetWindowTextW(ch1,10);

GetDlgItem(IDC_EDIT2)->GetWindowTextW(ch2,10);

num1=atoi(ch1);

num2=atoi(ch2);

num3=num1+num2;

itoa(num3,ch3,10);

GetDlgItem(IDC_EDIT3)->SetWindowTextW(ch3);//当计算好num1+num2 显示在第三个编辑框控件中

}

出现错误

f:/visual studio 2008/projects/mydialog/mydialog/testdlg.cpp(75) : error C2664: “int CWnd::GetWindowTextW(LPTSTR,int) const”: 不能将参数 1 从“char [10]”转换为“LPTSTR”

1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

1>f:/visual studio 2008/projects/mydialog/mydialog/testdlg.cpp(76) : error C2664: “int CWnd::GetWindowTextW(LPTSTR,int) const”: 不能将参数 1 从“char [10]”转换为“LPTSTR”

1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

1>f:/visual studio 2008/projects/mydialog/mydialog/testdlg.cpp(84) : error C2664: “CWnd::SetWindowTextW”: 不能将参数 1 从“char [10]”转换为“LPCTSTR”

1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

以前遇到这种问题一直是在问题处加 _T() 就行

但是这里加就会发出错误

f:/visual studio 2008/projects/mydialog/mydialog/testdlg.cpp(75) : error C2065: “Lch1”: 未声明的标识符

1.在以前的书上都是用的GetWindowText 现在的好多函数都加W 这是为什么呢??

2.还有加_T是什么意思啊???

3.帮忙解决上面的错误


问题解决:

[cpp] view
plaincopy

C/C++ codevoidCTestDlg::OnBnClickedButton1()//响应按钮 add{//TODO: 在此添加控件通知处理程序代码intnum1,num2,num3;

CString str1, str2, str3;

GetDlgItem(IDC_EDIT1)->GetWindowText(str1);

GetDlgItem(IDC_EDIT2)->GetWindowText(ch2);

num1=_ttoi((LPCTSTR)str1);

num2=_ttoi((LPCTSTR)str2);

num3=num1+num2;

_itot(num3,(TCHAR*)str3.GetBuffer(10),10);

str3.ReleaseBuffer();

GetDlgItem(IDC_EDIT3)->SetWindowText(str3);//当计算好num1+num2 显示在第三个编辑框控件中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐