1.  在vc6.0下用CString str;num = atoi(str);就可以顺利取到num;

但是同样代码拿到vs2008就报错,error C2664: “atoi”: 不能将参数 1 从“CString”转换为“const char *”;

于是把CString 强制转换为char*,num = atoi((LPSTR)(LPCTSTR)str);

编译不报错,运行成功。但是后面发现,本来str="123",num应该是123,结果却只是1,试了其他的都是只取最前面一位。

后面百度中无意发现,原来是,

vc6.0默认是ansi编码,所以atoi可以直接用,结果也正确;但是

VS2008默认的编码方式是Unicode,Unicode下不能用atoi,而要使用_wtoi 也可以直接使用_ttoi,它在 ANSI 编码系统中被编译成atoi(),而在 Unicode 编码系统中编译成_wtoi()。或者把vs改成ansi编码也行。

num = _ttoi(str);    (_ttoi类似于_T,随着编码方式会改变)。

2.  “atof”: 不能将参数 1 从“CString”转换为“const char *”

问题描述:m_Data[number]=atof(strtemp);

其中,m_Data为double型,number为long型,strtemp为CString型的。

为什么会出现这样的错误?

error C2664: “atof”: 不能将参数 1 从“CString”转换为“const char *”

 

解决:用_ttof代替atof

【DEBUG】不能将参数 1 从“CString”转换为“const char *”的更多相关文章

  1. CString转换为const char*

    CString str=_T("这是我的测试程序.");// 先得到要转换为字符的长度const size_t strsize=(str.GetLength()+1)*2; // ...

  2. 终于搞定在VS2010中将CString转换为const char*

    最近碰到了CString 转 const char *的问题. 以前只要简单的一个强制转换就OK了,可现在是不行了,搜索了很多资料,终于搞定,主要是Unicode和ANSI的问题,只要做一个转换就可以 ...

  3. VS2010中将CString转换为const char*

    最近碰到了CString 转 const char *的问题. 以前只要简单的一个强制转换就OK了,可现在是不行了,搜索了很多资料,终于搞定,主要是Unicode和ANSI的问题,只要做一个转换就可以 ...

  4. error C2664: “FILE *fopen(const char *,const char *)”: 无法将参数 1 从“LPCTSTR”转换为“const char *”

    遇到这个问题,请打开本项目的Properties(属性)-------> Configuration Properties(配置属性)-------->General(常规)------- ...

  5. 【QT】QString类型转换为const char*(toLatin1)

    Qstring str = "helloworld"; char *s; QByteArray ba = str.toLatin1(); s = ba.data(); toLati ...

  6. CString转const char

    CString转换成const char      需要考虑一个因素: 你使用是否为unicode 不使用unicode: CString  Cstr("aaaaaaa"); co ...

  7. VS2017出现不存在从"CString"到"const char*"的适当转换函数

    出现不存在从CStrign到const char*的转换,可以将项目属性的字符集设置从"使用Unicode字符集“转换为”使用多字字符集“. 点击”项目“----“属性”----“配置属性” ...

  8. 无法将参数 1 从“WCHAR [256]”转换为“const char *”

    https://blog.csdn.net/zhangxuechao_/article/details/81064037 字符集 修改为未设置 然后再修改回来unicode  居然好了

  9. CString 转换为 wchar_t *

    1.将CString转换为const char* CString str = _T("231222"); std::string strDp = CStringA(str);  / ...

随机推荐

  1. Sublime Text3 配置 Lua5.3.5开发环境

    所需软件 Sublime Text3 Lua5.3.5 配置过程 解压Lua5.3.5包 官方下载的包内是需要makefile安装的(博主Win10下暂为实现),此处提供自动配置完毕的包:Lua5.3 ...

  2. datatable 的使用方法

    遍历datatable的方法 +方法一:DataTable dt = dataSet.Tables[0];for(int i = 0 ; i < dt.Rows.Count ; i++){str ...

  3. Java高质量20问

    问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你在一个线程里初始化了一个 ...

  4. 基于Android SDK安装PhoneGap框架

    下载zip文件PhoneGap 2.0.0 PhoneGap 2.0.0 Released 20 Jul 2012http://phonegap.com/download/ 解压缩后的目录结构:Dir ...

  5. HDU 1847 博弈

    sg[0]=0; sg[i]=mex{sg[i-2^(j)]}  (i>=2^j) mex()为不在此集合的最小非负整数 #include <stdio.h> #include &l ...

  6. [hihocoder][Offer收割]编程练习赛57

    1-偏差排列 斐波那契数列 #pragma comment(linker, "/STACK:102400000,102400000") #include<stdio.h> ...

  7. 自己整理的css3动画库,附下载链接

    动画调用语法 animation: bounceIn 0.3s ease 0.2s 1 both; 按顺序解释参数: 动画名称 如:bounceIn 一周期所用时间 如:0.3s 速度曲线 如:eas ...

  8. tp5.0分页样式调控

    基础的分页调用 /** * 控制器部分代码 */ //实例化模型 $areasModel=new Areas(); //分页数据集 $listarea=$areasModel->paginate ...

  9. PHP中单例模式与工厂模式

    单例模式概念 单例模式是指整个应用中类只有一个对象实例的设计模式. 单例模式的特点 一个类在整个应用中只有一个实例 类必须自行创建这个实例 必须自行向整个系统提供这个实例 php中使用单例模式的原因 ...

  10. [Windows Server 2008] 安装SQL SERVER 2008

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:安装SQL S ...