vc在unicode和非unicode情况下cstring转换为float
来源:互联网 发布:女权五姐妹事件知乎 编辑:程序博客网 时间:2024/04/28 17:46
CString str = CString("Almost mad!"); float tempFloat = 0.0; tempFloat = atof(str);,
但是出现这样的错误
error C2664: 'atof' : cannot convert parameter 1 from 'CString' to 'const char *'
原因:
工程是UNICODE, unicode下LPCTSTR可不是const char *
建议 :
CString str; float fi; fi = _tstof(str);
这样无论是不是unicode下,就都可以了
解决方案:
double atof( const char *str ); double _wtof( const wchar_t *str );
atof是非unicode版本的,所以接受参数为const char *。
_wtof才是unicode下的,所以接受宽字符为参数。
为了统一,可以用_tstof或者_ttof。
非Unicode下,直接用GetBuffer(0)得到的就是单字节字符指针。
Unicode下,将GetBuffer(0)得到的宽字符指针用W2A宏转成单字节字符指针。
0 0
- vc在unicode和非unicode情况下cstring转换为float
- CString和string在unicode与非unicode下的相互转换
- BSTR 在unicode 或 多字符情况下转换为CString的通用写法
- VC/MFC unicode下CString转换为char*
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString转换为char *
- Unicode下CString(wchar_t)转换为 char*
- Unicode下CString转换为char *
- C++ Unicode下CString转换为Char*
- 网络知识 及 TCP、UDP编程实现过程
- think in UML读书笔记1 抽象
- 花落
- 【Android】开源项目汇总-备用
- Unity网格合并_材质合并
- vc在unicode和非unicode情况下cstring转换为float
- 成为优秀Swift开发者的10条建议
- 一些基本的关于数据库的sql语句
- Spanner的分布式事务实现
- 最小二乘法与最大似然估计
- nagios的安装配置
- list 和 dict
- Maya菜单中英文对照表(一)
- linux vi 中文乱码的解决方法