1。短整型(int) 
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制 
itoa(i,temp,2); ///按二进制方式转换 
2。长整型(long) 
ltoa(l,temp,10);

3。浮点数(float,double) 
用fcvt可以完成转换,这是MSDN中的例子: 
int decimal, sign; 
char *buffer; 
double source = 3.1415926535; 
buffer = _fcvt(source,7,&decimal,&sign); 
运行结果:source: 3.1415926535 buffer: '31415927' decimal: 1 sign: 0 
decimal表示小数点的位置,sign表示符号:0为正数,1为负数

4。CString变量 
CString str= "2008北京奥运"; 
char *buf = (LPSTR)(LPCTSTR)str; 
CString str = "....."; 
int nSize = str.GetLength()+1; 
char *p = new char[nSize]; 
memset(p,0, nSize*sizeof(char)); 
strcpy(p,str);

5。BSTR变量 
BSTR bstrValue = ::SysAllocString(L"程序员"); 
char * buf =_com_util::ConvertBSTRToString(bstrValue); 
SysFreeString(bstrValue); 
AfxMessageBox(buf); 
delete(buf);

6。CComBSTR变量 
CComBSTR bstrVar("test"); 
char *buf = _com_util::ConvertBSTRToString(bstrVar.m_str); 
AfxMessageBox(buf); 
delete(buf);

7。_bstr_t变量 
_bstr_t类型是对BSTR的封装,因为已经重载了=操作符,所以很容易使用 
_bstr_t bstrVar("test"); 
const char *buf = bstrVar;///不要修改buf中的内容 
AfxMessageBox(buf);

8。通用方法(针对非COM数据类型) 
用sprintf完成转换 
char buffer[200]; 
char c = '1'; 
int i = 35; 
long j = 1000; 
float f = 1.7320534f; 
sprintf(buffer, "%c",c); 
sprintf(buffer, "%d",i); 
sprintf(buffer, "%d",j); 
sprintf(buffer, "%f",f);

atof(将字符串转换成浮点型数)  
相关函数   atoi,atol,strtod,strtol,strtoul

表头文件   #include <stdlib.h>

定义函数   double atof(const char *nptr);

函数说明   atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时 ('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。

返回值   返回转换后的浮点型数。

附加说明   atof()与使用strtod(nptr,(char**)NULL)结果相同。

atoi(将字符串转换成整型数)  
相关函数   atof,atol,atrtod,strtol,strtoul

表头文件   #include<stdlib.h>

定义函数   int atoi(const char *nptr);

函数说明   atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

返回值   返回转换后的整型数。

附加说明   atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。

atol(将字符串转换成长整型数)  
相关函数   atof,atoi,strtod,strtol,strtoul

表头文件   #include<stdlib.h>

定义函数   long atol(const char *nptr);

函数说明   atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

返回值   返回转换后的长整型数。

附加说明   atol()与使用strtol(nptr,(char**)NULL,10);结果相同。

gcvt(将浮点型数转换为字符串,取四舍五入)  
相关函数   ecvt,fcvt,sprintf

表头文件   #include<stdlib.h>

定义函数   char *gcvt(double number,size_t ndigits,char *buf);

函数说明   gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和 fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。

返回值   返回一字符串指针,此地址即为buf指针。

strtod(将字符串转换成浮点数)  
相关函数   atoi,atol,strtod,strtol,strtoul

表头文件   #include<stdlib.h>

定义函数   double strtod(const char *nptr,char **endptr);

函数说明   strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时 ('\0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr 字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。

返回值   返回转换后的浮点型数。

strtol(将字符串转换成长整型数)  
相关函数   atof,atoi,atol,strtod,strtoul

表头文件   #include<stdlib.h>

定义函数   long int strtol(const char *nptr,char **endptr,int base);

函数说明   strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制 方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则 会使用16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符 串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。

返回值   返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。

附加说明   ERANGE指定的转换字符串超出合法范围。

strtoul(将字符串转换成无符号长整型数)  
相关函数   atof,atoi,atol,strtod,strtol

表头文件   #include<stdlib.h>

定义函数   unsigned long int strtoul(const char *nptr,char **endptr,int base);

函数说明   strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表 采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如 '0x'前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转 换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针 由endptr返回。

返回值   返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。

附加说明   ERANGE指定的转换字符串超出合法范围。

toascii(将整型数转换成合法的ASCII 码字符)  
相关函数   isascii,toupper,tolower

表头文件   #include<ctype.h>

定义函数   int toascii(int c)

函数说明   toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。

返回值   将转换成功的ASCII码字符值返回

VC++和C语言中常见数据类型转换为字符串的方法的更多相关文章

  1. C语言中把数字转换为字符串 【转】

    在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望.由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出 ...

  2. C语言中数组转化为字符串的方法

    #include<stdio.h> #include <stdlib.h> #include <string.h> #define NR(x) (sizeof(x) ...

  3. Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器

    Android For JNI(二)--C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器 当我们把Hello World写完之后,我们就可以迈入C的大门了,今天就来讲讲基本的一些数据类型 ...

  4. R语言中样本平衡的几种方法

    R语言中样本平衡的几种方法 在对不平衡的分类数据集进行建模时,机器学习算法可能并不稳定,其预测结果甚至可能是有偏的,而预测精度此时也变得带有误导性.在不平衡的数据中,任一算法都没法从样本量少的类中获取 ...

  5. C语言中存储多个字符串的两种方式

    C语言中存储多个字符串的两种方式 方式一    二维字符串数组 声明: char name[][] = { "Justinian", "Momo", " ...

  6. js中判断数据类型的四种方法总结

    js中判断数据类型的四种方法 前言 在js中,我们经常需要判断数据的类型,那么哪些方法可以用来判断数据的类型呢?哪种方法判断数据类型最准确呢? 我们来一个个分析: 1.typeof typeof是一个 ...

  7. ***用php的strpos() 函数判断字符串中是否包含某字符串的方法

    判断某字符串中是否包含某字符串的方法 if(strpos('www.idc-gz.com','idc-gz') !== false){ echo '包含'; }else{ echo '不包含'; } ...

  8. 2_C语言中的数据类型 (七)printf与scanf

    1          字符串格式化输出和输入 1.1       字符串在计算机内部的存储方式 字符串是内存中一段连续的char空间,以’\0’结尾 “”是C语言表达字符串的方式 1.2       ...

  9. C语言中各个数据类型的取值范围

    因为CPU的差异,各系统中的数据类型所占的字节数(bytes)不同,二进制位数(bit)也不同.那么怎样才能知道自己系统的数据类型的字节数,位数呢? 授之以鱼不如授之以渔,大家可以自己从电脑里获取这些 ...

随机推荐

  1. java设计模式--基础思想总结--抽象类与架构设计思想

    抽象类?这个东西我感觉没什么卵用啊,又不能拿来new对象,没有具体的对象的抽象类,有什么实际的意义呢?这是很多刚刚接触java抽象类语法时的第一反应(当然,包括我).确实,很多刚刚接触抽象类这个概念的 ...

  2. springboot自定义异常

    SpringBoot自定义异常以及异常处理 在web项目中,我们可能需要给前端返回不同的提示码.例如:401表示没有权限,500代表位置异常,200代表请求成功等.但是这些提示码远远不能满足我们返回给 ...

  3. 重构指南 - 封装条件(Encapsulate Conditional)

    封装就是将相关的方法或者属性抽象成为一个对象. 封装的意义: 对外隐藏内部实现,接口不变,内部实现自由修改. 只返回需要的数据和方法. 提供一种方式防止数据被修改. 更好的代码复用.   当代码中包含 ...

  4. python文件修改 核心5步,函数实现修改任意文件内容

    文件修改 核心5步1.以读的模式打开原文件,产生句柄f12.以写的模式打开一个新文件,产生句柄f23.读取原文件的内容并将原文件需要替换的内容修改写入到新文件4.删除原文件5.把新文件重名了成原文件 ...

  5. jQuery知识点学习整理

    零.jQuery中操作css的方法 1.$("p").css("background-color"); 返回首个匹配元素的background-color的值. ...

  6. java 中国网建实现发送短信验证码

    现在中国网建上注册一个自己的账户, 然后里面有代码案例,也有相应的下载jar包的地址 package com.direct.note; import java.io.IOException; impo ...

  7. html+css 布局篇

    float 做了float后有一些不好的影响. 1.背景不能显示 由于浮动产生,如果对父级设置了(CSS background背景)CSS背景颜色或CSS背景图片,而父级不能被撑开,所以导致CSS背景 ...

  8. PHP 多图片上传实例demo

    upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  9. leetcode Ch1-search 2014

    1. Search Insert Position class Solution { public: int searchInsert(int A[], int n, int target) { ,r ...

  10. Oracle基本命令(一)

    1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba t ...