string和char的那些事
轉換成char[ ]都需要使用strcpy/strncpy
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main(){
//char[]——>char*
char str[]="123456";
char *p=str;
cout<<p<<endl;
//char*——>char[]
char *p1="yyqx";
char str1[2];
strncpy(str1,p1,strlen(p1)+1);
cout<<str1<<endl;
//const char*——>char* 需另外開闢空間
const char* p2="abcd";
char* p3=new char[strlen(p2)+1]; //先要開闢空間
strncpy(p3,p2,strlen(p2)+1); //再進行賦值
cout<<p3<<endl;
//char*——>const char* 可以直接賦值
char* p4="defg";
const char* p5=p4;
cout<<p5<<endl;
//string——>char*
string s1="yyqx";
char* p6=const_cast<char*>(s1.c_str());
cout<<p6<<endl;
//string——>const char*
string s2="uiiyyqx";
const char* p7=s2.c_str();
cout<<p7<<endl;
//char*——>string
char* p8="hjjkk";
string s3=p8;
cout<<s3<<endl;
//string——>char[]
string s4="dkjgsl";
char str2[4];
strncpy(str2,s4.c_str(),s4.length()+1);
cout<<str2<<endl;
return 0;
}