GetWindowTextW(LPTSTR,int) const' :cannot convert parameter 1 from 'char[10]

来源:互联网 发布:梦幻西游 mac问题 编辑:程序博客网 时间:2024/05/20 07:53

VC++6.0下常见的写法是:

 

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);   //itoa(要转换的数, 目标buffer, 以什么进制转换) //int类型转换成字符型函数

GetDlgItem(IDC_EDIT3)->SetWindowTextW(ch3);

 

 

但是在VS2005里面,会报一下错误:

GetWindowTextW(LPTSTR,int) const' :cannot convert parameter 1 from 'char[10]

SetWindowTextW' : cannot convert parameter 1 from 'char [10]' to 'LPCTSTR'

 

这是因为宽字符和窄字符的错误。

在VS2005下应该这样写:

 

//注意加粗字体的写法

 

int num1,num2,num3;
TCHAR ch1[10],ch2[10],ch3[10];

GetDlgItem(IDC_EDIT2)->GetWindowText(ch1,10);
GetDlgItem(IDC_EDIT3)->GetWindowText(ch2,10);

num1=_ttoi(ch1);    num2=_ttoi(ch2); 

num3=num1+num2;

_itot(num3,ch3,10);   

GetDlgItem(IDC_EDIT4)->SetWindowText((LPTSTR)ch3);


 

 

原创粉丝点击