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");
}