VS2008的工程向导可以生成支持Unicode的SDI,一开始没有注意,在编辑中发现非常不方便,
简单的一个MessageBox(),就要用_T()修饰里面的字符串,在使用atof的时候发生了严重的问题
atof,输入的如果是一个wchar*(CString的Unicode环境,GetBuffer()就是wchar*),那么字符串"5000",输出就只有double 5.00000000了
查资料发现要么把wchar*转化成char*串,要么不使用Unicode环境
最后找到了一个系列的函数可以直接转换wchar*到int,double等等
|
_wtof, _wtof_l |
<stdlib.h> or <wchar.h> |
本文介绍了在Visual Studio 2008的Unicode环境下使用atof函数遇到的问题,当输入wchar_t类型字符串时,无法正确转换为double类型。文章提供了两种解决方案:一是将wchar_t字符串转换为char类型;二是使用专门针对wchar_t类型的转换函数_wtof。
1万+

被折叠的 条评论
为什么被折叠?



