char[] 转 char*
char ch[]="abcdef";
char *s = ch;
char* 转 char[]
strcpy()
char *s="abcdef";
char ch[100];
strcpy(ch,s);
循环赋值
char arr[20];
char* tmp = "helloworld";
int i = 0;
while (*tmp != '\0')
arr[i++] = *tmp++;
arr[i] = '\0';
string 转 char[]
string str= "abcdef";
char ch[20];
int i;
for( i=0;i ch[i] = str[i]; } p[i] = '\0'; char[] 转 string string str; char ch[20] = "abcdef"; str = ch; string 转 char* data() data()仅返回字符串内容,而不含有结束符’\0’ string str = "abcdef"; const char* p = str.data(); //使用char * p=(char*)str.data()效果相同 c_str() c_str()函数返回一个以’\0’结尾的字符数组 string str=“abcdef”; const char *p = str.c_str(); //使用char * p=(char*)str.c_str()效果相同 copy() 要想指针指向内容及地址不改变,使用该方式 string str=“abcdef”+ '\0'; char *p= new char[str.length()+1]; str.copy(p,str.length(),0); char* 转 string 直接赋值 string str; char *p = "abcdef"; str = p; assign() 要想指针指向内容及地址不改变,使用该方式 char *p = "abcdef"; string str; str.assign(p,strlen(p));