当前位置: 技术问答>linux和unix
请问,LINUX的C++中,如何将string类型与char数组一次性互相转换?
来源: 互联网 发布时间:2015-11-17
本文导语: 请问,LINUX的C++中,如何将string类型与char数组一次性互相转换?不用循环,谢谢 | string类型与char数组一次性互相转换??? 几乎是办不到的,若把string当作char数组的话,string提供了一种方法,就是strin...
请问,LINUX的C++中,如何将string类型与char数组一次性互相转换?不用循环,谢谢
|
string类型与char数组一次性互相转换???
几乎是办不到的,若把string当作char数组的话,string提供了一种方法,就是string::c_str(),但是它仅代表常量字符串,也就是说用const来修饰的,只能访问其内容,无法修改其内容,因为若修改了其内容的话,string本身是C++类实现的,它在析构的时候会释放存放字符的内存,如果你这样做了的话,会造成内存泄漏的,所以string::c_str()大多数时候可以当作字符数组使用,但在某些时候是不能通用的
几乎是办不到的,若把string当作char数组的话,string提供了一种方法,就是string::c_str(),但是它仅代表常量字符串,也就是说用const来修饰的,只能访问其内容,无法修改其内容,因为若修改了其内容的话,string本身是C++类实现的,它在析构的时候会释放存放字符的内存,如果你这样做了的话,会造成内存泄漏的,所以string::c_str()大多数时候可以当作字符数组使用,但在某些时候是不能通用的
|
非常的简单,显然你没有使用过Glib, 在终端输入pkg-config glib-2.0 --cflags --libs看看会有什么。
可以使用GString* CheckConvert = g_string_new("I love Linux");
char* ConvertString = CheckConvert->str;
是不是很简单?
可以使用GString* CheckConvert = g_string_new("I love Linux");
char* ConvertString = CheckConvert->str;
是不是很简单?
|
string::c_str()
|
字符数组用string::data,字符串用c_str。
|
char str_src[]="aaaaabbbbb";
string str = new string(str_src,strlen(str_srt)+1);
string str = new string(str_src,strlen(str_srt)+1);
|
我在自己目前的项目中是自己写一个String。不过没用做很好的优化。
|
直接用memcpy
^_^
^_^
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。