string转换为char数组,怎么把char转化成string

主要可以通过三种方法将str转换为char*类型: 分别是data (; c_str (; 复印;

1、data (方法:

string str=’hello world ‘; const char *p=str.data (; 加入const或char*p=(char* ) str.data ); 的格式注:如果不设置const,编译时将发生错误。 无法从’ const char* ‘转换为’ char* ‘;

2、c_str (方法:

string str=’hello ‘; const char *p=str.c_str (; //同上3,复印) )方法:

string str=’hello ‘; char buf[50]; str.copy(buf,5,0 ); //其中6为6个字符,0为复制目标*(buf5)=’\0 ‘; //结束符点击打开原文链接

可以直接分配值。

字符串str; char *p=’hello ‘; str=p; //注意:如果p包含许多“\0”,则转换的字符串是截断的,正确地转换为: stringstr(p,size ); //size是p尺寸的说明。 声明string类型变量str后,返回printf(‘%s”,str ); 就会发生错误。 因为“%s”请求后续对象的第一个地址。 但是,string不是这种类型,所以会出现错误。

一、string 转 char*

string str=’hello ‘; char p[8]; int i; for(I=0; istr.length (; I ) p(I )=str ); }p[i]=’\0 ‘; //此步骤至关重要的printf(%s(n ),p ); coutp;二、char* 转 string

可以直接分配值。

char p[60]=’hello ‘; 字符串str; str=p; 出局;