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;

解决方案 »

  1.   

    贴出来错误信息看看……你改的两个地方貌似都没什么必要……试试前面加上强制转换dEdit1 = (double)atof((LPCTSTR)cEdit1);
      

  2.   

    error C2664: “atof”: 不能将参数 1 从“LPCTSTR”转换为“const char *”
    与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换以上是错误信息,我在前面加了强制转换还是不行。
    另外在VC++2010里好像没有GetWindowText()只有GetWindowTextW(),所以我才改了前面两个。
      

  3.   

    error C2664: “atof”: 不能将参数 1 从“LPCTSTR”转换为“const char *”
    与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换以上是错误信息,我在前面加了强制转换还是不行。
    另外在VC++2010里好像没有GetWindowText()只有GetWindowTextW(),所以我才改了前面两个。
      

  4.   

    error C2664: “atof”: 不能将参数 1 从“LPCTSTR”转换为“const char *”
    与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换以上是错误信息,我在前面加了强制转换还是不行。
    另外在VC++2010里好像没有GetWindowText()只有GetWindowTextW(),所以我才改了前面两个。
      

  5.   

    wchar_t cEdit1[10] = {0}, cEdit2[10] = {0};  //这里最好赋0  
    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;
      

  6.   

    char cEdit1[10], cEdit2[10];   
    定义为CString就可以了
      

  7.   

    char cEdit1[10], cEdit2[10];   
    改为CString类型就可以了
      

  8.   

    刚刚发现了是字符集的问题,在unicode字符集下是不能使用atof()这个函数的。要改成_wtof。在配置属性里改成了多字符集就没这个问题了。
      

  9.   

    我是换成CString类型,并且也把字符集改成多字符集才没出现你说的那个问题的。呵呵,我也是最近才碰到你说的问题的
      

  10.   

    我也是才开始学MFC不久,以后相互交流!QQ:6714174