与char字符串的转化
数字到char*的转化
atof(char* str)将括号内的char*转化成double类型atoi(char* str)将括号里的char*转化成int类型atol(char* str)将括号里的char*转化成long int型strtod(char* begin, char* end,)将指针区域内的char*转化成double类型,第二个参数可用NULL代替strtol(char* begin, char* end, int base),将指针区域内的char*转化成base((2le basele32))进制的long int类型,第二个参数可用NULL代替(默认到结尾),第三个参数可用0代替(默认为十进制)strtuol(cha* begin, char* end, int base),将指针区域内的char*转化成base((2le basele32))进制的unsigned long int类型,第二个参数可用NULL代替(默认到结尾),第三个参数可用0代替(默认为十进制)sprintf(char* str, format, number),将数字风格化输出,打印到str中
sprintf()在stdio.h中,at系列和strt系列在stdlib.h中
at系列和strt系列的相同点:两个系列具有容错能力,即遇到字符串中的非法部分时,会将非法部分前的合法部分保留下来。如果字符串整体非法,则返回(0)。
不同点:strt系列可以制定转化范围,甚至时整数的进制。而且strt系列的完整参数有五个,可以详细处理非法情况
char*到数字的转化
sscanf(char* str, format, [argument]...)风格化从字符串中读取数字
与string字符串的转化
数字到string的转化
-
to_string(number)将括号内的数字转化成string类型 -
利用string流
stringstream,将number转化为string类型,具体操作为stringstream tmp; tmp << number; tmp >> str -
利用
c_str(),将string类型转化为char*,再利用上述的char*与数字的转化
to_string和c_str()在string中,stringstream在sstream中
string到数字的转化
- 利用
stringstream,操作如上 - 利用
c_str()转化成char*,再利用sscanf()
本文只是一个简单汇总,具体用法请参考其他资料