一. 数字 转 char*型
1.sprintf函数(适合C和C++)
示例:
char str[50]; int num = 345; sprintf(str,"%d",num);
sprintf()函数的功能非常强大,此处只是将int型数字转换成字符串,更多的介绍可见:
二.数字 转 string型
1.利用stringstream(只适合于C++)
示例:
string str; int num = 345; stringstream ss; //记住要包含头文件#includess << num; str = ss.str();
2.利用to_string(只适用于C++,且必须C++11以及以上)
示例:
string str; int num = 345; str = to_string(num);
三.char* 转 数字
1.atoi以及相关的函数(适合C和C++)
示例:
char str[] = "345"; int num; num = atoi(str);
相关的函数包括:C标准库还提供了 atoi, atof, atol, atoll(C++11标准) 函数将字符串转换成int,double, long, long long 型。
2.sscanf函数
示例:
char str[] = "345"; int num; sscanf(str,"%d",&num);
sscanf函数的功能用样也很强大,具体用法此处不详述。
四.string 转 数字
1.stoi函数(只适用于C++)
示例:
string str = "345"; int num; num = stoi(str);
stoi函数与atoi函数的区别,见: 最底部分。
2.利用stringstream(只适用于C++)
示例:
string str = "345"; int num; stringstream ss; ss << str; ss >> num;
利用stringstream既可以将string转换成数字,同时也可以将数字转换成string。
需要注意的一点是:一定要搞清楚字符串是char *类型还是string类型。
===================================================================补充===================================
五. string 转 char*
1.利用c_str()函数
示例:
string str = "345"; char * s1 = new char[10]; strcpy(s1,str.c_str());
c_str()是string类中的成员函数,作用是将string转化成char*,并在结尾处添加"\0",但是此处不能直接使用 = 进行直接赋值,而是要使用strcpy拷贝函数。因为c_str()返回的是一个临时指针,不能对其进行操作。
六. char* 转 string
1.直接利用 = 进行赋值即可。
示例:
char * str = "123";string ss;ss = str;