本文主要是介绍C++中利用stringstream或者c_str()进行int型与string型char*类型转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
stringstream还是相当强大的。简单易懂,虽然写的行数比较多!
基本数据类型转换例子 int和string,也支持string和char *,int和char *之间的转换。
注意同一个stringstream对象,再进行多次转换的时候,必须调用stringstream的成员函数clear().
头文件<sstream>
如int转string
int n = 0;
std::stringstream ss;
std::string str;
ss<<n;
ss>>str;
通过其他方法string转int
std::string str = "123";
int n = atoi(str.c_str());
char*,const char*和string 三者转换
1. const char* 和string 转换
(1) const char*转换为 string,直接赋值即可。
EX: const char* tmp = "tsinghua".
string s = tmp;
(2) string转换为const char*,利用c_str()
EX: string s = "tsinghua";
const char*tmp = s.c_str();
2. char*和const char*之间的转换
(1) const char*转化为char*,利用const_cast<char*>
EX: const char* tmp = "tsinghua";
char* p = const_cast<char*>(tmp);
(2) char*转化为const char*,直接赋值即可。
char* p = "tsinghua".
const char* tmp = p;
3. char*和string之间的转换
有了1和2的基础,char*和string转化就很简单了。
(1)char*转化为string,直接赋值即可。
EX: char* p = "tsinghua".
string str = p;
(2)string转化为char*,走两步,先是string->const char*,然后是const char*->char*
EX: string str = "tsinghua";
char* p = const_cast<char*>(str.c_str()):
参考资料:
http://blog.csdn.net/perfumekristy/article/details/7027678
http://blog.163.com/chen_dawn/blog/static/11250632010111215937586/
这篇关于C++中利用stringstream或者c_str()进行int型与string型char*类型转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!