1.char数组 转string 直接 等号复值就好。
char a[20] = "I am a boy";
string b = a;
cout<< b <<endl;
2.string 转 char数组
这样复值给一个数组是比较安全的做法,而且可以通过编译。
string a = "i am a boy";
char b[20];
strcpy(b,a.c_str());
printf("%s\n",b);
下面操作会引起编译器报错,网上搜罗了一下,原因是会让字符数组的首地址指向垃圾内容,因为string对象已被析构清理。
string a = "i am a boy";
char b[20] = a.c_str();
printf("%s\n",b);
当然如果需要直接输出的话就简单粗暴点
string a = "i am a boy";
printf("%s\n", a.c_str());