当前位置:Linux教程 - Linux文化 - LINUX的C++中,如何将string类型与char数组一次性互相转换? ?

LINUX的C++中,如何将string类型与char数组一次性互相转换? ?


请问,LINUX的C++中,如何将string类型与char数组一次性互相转换?不用循环,谢谢

>>> 此贴的回复 >> 非常的简单,显然你没有使用过Glib, 在终端输入pkg-config glib-2.0 --cflags --libs看看会有什么。 可以使用GString* CheckConvert = g_string_new("I love Linux"); char* ConvertString = CheckConvert->str; 是不是很简单?

>>> 此贴的回复 >> string::c_str()

>>> 此贴的回复 >> string类型与char数组一次性互相转换??? 几乎是办不到的,若把string当作char数组的话,string提供了一种方法,就是string::c_str(),但是它仅代表常量字符串,也就是说用const来修饰的,只能访问其内容,无法修改其内容,因为若修改了其内容的话,string本身是C++类实现的,它在析构的时候会释放存放字符的内存,如果你这样做了的话,会造成内存泄漏的,所以string::c_str()大多数时候可以当作字符数组使用,但在某些时候是不能通用的

>>> 此贴的回复 >> 字符数组用string::data,字符串用c_str。

>>> 此贴的回复 >> char str_src[]="aaaaabbbbb"; string str = new string(str_src,strlen(str_srt)+1);

>>> 此贴的回复 >> 直接用memcpy ^_^