c++ char*, char[], string相互转换

c++ char*, char[], string相互转换

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

相关推荐

测试你能活多少岁!只需8秒钟,你敢测吗?
365bet线上注册

测试你能活多少岁!只需8秒钟,你敢测吗?

📅 07-02 👁️ 309
什么寒什么冻的成语
bst365.com

什么寒什么冻的成语

📅 07-03 👁️ 8480