VC新手,学习过程中碰到以下的问题,请高手指点,最好能详细一些,谢谢。
这段代码在VC6.0里面可以运行,但是不知道为什么在2010中不可以。
char cEdit1[10], cEdit2[10];
double dEdit1, dEdit2, dEdit3;
char* cResult;m_Edit1.GetWindowText(cEdit1, 10);
m_Edit2.GetWindowText(cEdit2, 10);dEdit1 = atof((LPCTSTR)cEdit1);
dEdit2 = atof((LPCTSTR)cEdit2);
dEdit3 = dEdit1 + dEdit2;后来我将代码做了一些修改。将char改成wchar_t,GetWindowText()改成GetWindowTextW()
但是运行至atof()处时还是通不过。请指点一下。wchar_t cEdit1[10], cEdit2[10];
double dEdit1, dEdit2, dEdit3;
char* cResult;m_Edit1.GetWindowTextW(cEdit1, 10);
m_Edit2.GetWindowTextW(cEdit2, 10);dEdit1 = atof((LPCTSTR)cEdit1);
dEdit2 = atof((LPCTSTR)cEdit2);
dEdit3 = dEdit1 + dEdit2;
这段代码在VC6.0里面可以运行,但是不知道为什么在2010中不可以。
char cEdit1[10], cEdit2[10];
double dEdit1, dEdit2, dEdit3;
char* cResult;m_Edit1.GetWindowText(cEdit1, 10);
m_Edit2.GetWindowText(cEdit2, 10);dEdit1 = atof((LPCTSTR)cEdit1);
dEdit2 = atof((LPCTSTR)cEdit2);
dEdit3 = dEdit1 + dEdit2;后来我将代码做了一些修改。将char改成wchar_t,GetWindowText()改成GetWindowTextW()
但是运行至atof()处时还是通不过。请指点一下。wchar_t cEdit1[10], cEdit2[10];
double dEdit1, dEdit2, dEdit3;
char* cResult;m_Edit1.GetWindowTextW(cEdit1, 10);
m_Edit2.GetWindowTextW(cEdit2, 10);dEdit1 = atof((LPCTSTR)cEdit1);
dEdit2 = atof((LPCTSTR)cEdit2);
dEdit3 = dEdit1 + dEdit2;
与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换以上是错误信息,我在前面加了强制转换还是不行。
另外在VC++2010里好像没有GetWindowText()只有GetWindowTextW(),所以我才改了前面两个。
与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换以上是错误信息,我在前面加了强制转换还是不行。
另外在VC++2010里好像没有GetWindowText()只有GetWindowTextW(),所以我才改了前面两个。
与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换以上是错误信息,我在前面加了强制转换还是不行。
另外在VC++2010里好像没有GetWindowText()只有GetWindowTextW(),所以我才改了前面两个。
double dEdit1, dEdit2, dEdit3;
char* cResult; //这个貌似没用到m_Edit1.GetWindowTextW(cEdit1, 10);
m_Edit2.GetWindowTextW(cEdit2, 10);dEdit1 = atof((LPCTSTR)cEdit1); //都是 wchar了要用 _wtof((LPCWSTR)cEdit1 )
dEdit2 = atof((LPCTSTR)cEdit2); //同理
dEdit3 = dEdit1 + dEdit2;
定义为CString就可以了
改为CString类型就可以了