string与char*的转换,在c++中比较常见,两者相互转换如下:
(1)char*转string
通过stringstream作为中间进行传递 或者直接赋值
#include<iostream>
using namespace std;
void main()
{
char *p = "123";
string str;
stringstream ss;
ss << p;
ss >> str;
cout << str << endl;
system("pause");
}
void main()
{
char *p = "123";
string str = p;
cout << str << endl;
system("pause");
}

(2)string转 const char*
使用string的data()函数进行转换
#include<iostream>
using namespace std;
void main()
{
string str = "abc";
const char *p = str.data();
}
(3)string转 char*
使用 const_cast<char*>(str.c_str())
//string转 char *
void main()
{
string str = "abc";
char *p = const_cast<char*>(str.c_str());
}
(4)添加string长度
使用stringstream转换
void main()
{
string str = "123";
stringstream ss;
ss << str << "45";
string newstr;
ss >> newstr;
cout << newstr;
system("pause");
}
本文介绍了C++中string与char*之间的四种转换方法:char*转string可通过stringstream或直接赋值;string转const char*使用data()函数;string转char*采用const_cast;以及如何利用stringstream扩展string长度。
3955

被折叠的 条评论
为什么被折叠?



