C++中数值和字符串的转换

2014-11-24 03:14:30 · 作者: · 浏览: 3

C++编程中,时常会遇到数值和字符串之间的转换,C-Style的atoi,atol,strtod,strtol,strtoul等函数在功能上有时候会略显不足,当然在C++中实现数值和字符串转换的形式各种各样,本文对自己在编程中遇到的情况进行了简单的总结。


1) 数值类型转为字符类型


char str[255];


int num = 100;


sprintf(str, "%d", num);


当然对于各种方式,可以进行任意的扩展和字符的链接。如:


char str[255];


int num = 100;


char postStr[]=".jpg";


sprintf(str, "%d absc %s", num,postStr);


除此,可以根据需要进行扩展。


2)使用stringstream对象进行转换


stringstream ss;


int num = 100;


string str;


ss<


ss>>str; // 输出 100的字符串


同样,可以任意的对ss进行扩展,如 :


ss<<"E:\\images\\<< num<<".jpg"; // 合成一个路径


3)字符串转换为数值


stringstream ss;


int num = 0;


string str(“1000”);


ss<

ss>>num; // num的值就变成了1000


4)使用CString来格式化数值


CString cstr;


int num = 100;


string str(".jpg");


cstr.format("E:\\images\\%d%s",num,str);