c++中char和string相互转换
⼀、string转char*。
  主要有三种⽅法可以将str转换为char*类型,分别是:data(); c_str(); copy();
  1.data()⽅法,如:
  string str = “hello”
  const char * p = str.data();//加const
  或者⽤ char *p=(char *)str.data();的形式
  同时有⼀点需要说明,这⾥在devc++中编译需要添加const,否则会报错invalid conversion from const char to char ,这⾥可以再前⾯加上const或者在等号后⾯给强制转化成char的类型。
  2.c_str()⽅法,如:
  string str=“world”;
  const char *p = str.c_str();//同上,要加const或者等号右边⽤char
  3.copy()⽅法,如:
  tring str=“hmmm”;
  char p[50];
  py(p, 5, 0);//这⾥5代表复制⼏个字符,0代表复制的位置,
  *(p+5)=‘\0’;//注意⼿动加结束符
⼆、char * 转string。
  可以直接赋值。
  string s;
  char *p = “hello”;//直接赋值
c++中string的用法
  s= p;
  这⾥有⼀点要说明,当声明了string类型变量s后,⽤printf("%s",s);是会出错的,因为“%s”要求后⾯的对象的⾸地址。但是string 不是这样的⼀个类型。所以肯定出错。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。