您的位置:首页 > 编程语言 > C语言/C++

C++中利用stringstream或者c_str()进行int型与string型char*类型转换

2014-07-21 20:54 666 查看
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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: