char怎么转string,string char*转换

要将字符串转换为char*,请使用string提供的函数c_str (或函数data ) )。 data不仅返回字符串的内容,而且不附加结尾字符() 0。 c_str ) )返回以)0)结尾的字符数组。

const char *c_str (;

c_str ) )函数返回指向正规c字符串的指针。 内容与此string字符串相同。

这是为了与c语言兼容,并且c语言没有字符串类型,因此需要使用字符串对象的成员函数c_str ()将字符串对象转换为c中的字符串样式。

注:请确保使用方法c_str (返回的指针是strcpy ) )函数等进行操作

例如,最好不要这样的:

char* c; 字符串s=’ 1234 ‘; c=s.c_str (; //c最后指示的内容是垃圾,s对象被析构,所以在处理其内容时应该这样使用:

char c[20]; 字符串s=’ 1234 ‘; srcpy(c,s.c_str ) ); 这样就没有错误了。 c_str ) )返回临时指针,无法操作

让我再举一个例子

c_str ()以char*的形式返回string包含字符串

如果函数需要char*参数,可以使用c_str ()方法。

string s=’Hello World!’ ; printf(‘%s ‘,s.c_str ) ); //输出’ Hello World!’ 1、

const char *p=a.data (;

2,

const char *p=a.c_str (;

3、

charp=const_castchar(a.c_str );

char * strc=new char [ strlen (str.c _ str () )1];

strcpy(strc,str.c_str ) );