C++:string 与 char *,char[ ] 的互相转换

1、string 转 char *

  • data()
string s = "asdfr";
const char *c = s.data();
  • c_str()
string s = "asdfr";
const char *cc = s.c_str();

2、string 转 char [ ]

  • copy()
string s = "asdfr";
char cc[50];
s.copy(cc, 50, 0);
  • 一个一个字符复制
string s = "asdfgh";
int i=0;
char cs[100];
for(; i<s.length(); i++)
    cs[i] = s[i];
cs[i] = '\0';

3、char * 转 string

可以直接赋值

string s;
char *p = "asdff";
s = p;

4、char [ ] 转 string

可以直接赋值

string s;
char p[10] = "asdff";
s = p;

猜你喜欢

转载自blog.csdn.net/Doutd_y/article/details/82464050