本来在VC6.0 中代码如下运行很正常:CString str ;  atof(str) ;
但在VC2005中却不能运行;问题是 不能把 CString 转换为:const char* ;现在找不到方法,请求大家指点以下????不胜感激!!!!!!!

解决方案 »

  1.   

    char   *a; 
    CString   b; 
    memcpy(a,b);
      

  2.   

    可以这样把CString 转化为char *
    CString str("test");int len=str.getLength();char *cstr=new char[len+1];cstr[len]=0;WideCharToMultiByte(CP_OEMCP, 0, str, -1, cstr, len, NULL, NULL); 
      

  3.   

    由于VS2005的CString中的字符是unicode的原因,可以通过更改项目设置或者可用WideCharToMultiByte函数将它转成Ansi的。接下来的转化就和VC6一样的了。 
      

  4.   

    同一个问题发两遍么? 把atof替换成_ttof试试
      

  5.   

    哦 没有_ttof…… 那无视我的话吧
      

  6.   

    谢谢各位兄弟关注,特别是“云之巅”的热情:
       刚才试过:
       char       *a;   
      CString       b;   
      memcpy(a,b,b.GetLength());
    好象还可以,其他的代码太多是否影响性能(重复次数太多)。