有关格式的转换!
double dbFirst=atof(szFirst.GetBuffer(0));
szFirst.ReleaseBuffer(0);
szFirst是CString类型的。。
1>e:\mfc_p\visual.cpp开发实战宝典\6.4\clc\clc\clcdlg.cpp(172) : error C2664: “atof”: 不能将参数 1 从“wchar_t *”转换为“const char *”
编译器出现如上提示!
我是按书上写的程序,在我自己写的程序编译无法通过,但在在书中光盘中,提供的代码,可以通过。。。
本人新手,麻烦各位给点指点。谢谢!
[解决办法]
你的编译器版本不是VC6.0
光盘的代码默认是在VC6.0中编的,没有设置为UNICODE,所以你转成VS打开也不会有问题。
当你自己在VS中NEW一个工程的时候,默认的是UNICODE编码,宽字节不能用atof。
如果你一定要用atof,可以先将szFirst,用WideCharToMultiByte转成ANSI,再用atof。
如果不想转,你可以用wtoi、wtof等
还有一个办法就是要新建工程时,取消默认的UNICODE选项。
[解决办法]
工程设置中,不要使用Unicode字符集,使用多字节字符集。
[解决办法]
使用UNICODE版本的函数_wtol _wtoi 就可以了
[解决办法]
_wtof 这个是转换成double的
[解决办法]