关于string转char*的问题
来源:互联网 发布:人体解剖软件中文版 编辑:程序博客网 时间:2024/06/12 01:17
今天有个同事问了我一个关于string转char*的问题,最近都在做Qt方面的开发,C++自带类的用法一时半会也记不起来,就百度了一下(像这些很常见的问题,百度要比google的搜索结果更人性化一些,当然如果要搜索特别专业的知识还是google吧!)。大部分都是以下三种方法。
我就不自己写代码了,直接拷贝别人的代码:
1.data如:string str="abc";char *p=str.data();2.c_str如:string str="gdfd"; char *p=str.c_str();3. copy比如string str="hello";char p[40];str.copy(p,5,0); //这里5,代表复制几个字符,0代表复制的位置*(p+5)='\0'; //要手动加上结束符cout < <p;
第三种方法可以做到,但是貌似有些复杂了,前两种方法很简练,但是有些问题,报的错误都是error C2440: “=”: 无法从“const char *”转换为“char *”,这种错误很好办,强制转换就OK,有两种方法:
string ss = "sss";char *chr;chr = (char*)(ss.c_str());//直接强制转换chr = const_cast<char*>(ss.c_str());//使用运算符转换
第一种强制转换的方法貌似有些不科学,毕竟任何强制转换都是不科学的,第二种方法毕竟科学。
OK,解决了!
- 关于string转char*的问题
- CString转string和char*的问题
- char* 转string可能会遇到的问题
- 关于char (*p)[] 和char p[]的问题(转)
- char*,const char*,char[],string之间的转换问题。
- 关于string和char的转换等
- 关于char与string的运用
- 转:char*, char[] ,CString, string的转换
- 转:char*, char[] ,CString, string的转换
- C++ char转string时候产生的乱码问题
- 关于char[]数组,char*指针,std::string*之间的转化
- 关于char的溢出问题
- cocos2d-x 关于 std::string 与 const char* 之间转换的奇怪问题
- 关于String字符串空格的处理[用(char)12288解决空格问题]
- CString string char* int的转换问题!!
- CString string char* 等字符串的问题
- char 与 string的转换问题
- 关于String的问题
- Configure ProGuard to Retain Line Numbers in Stack Traces
- 关于计算机网络的基本知识整理
- 【PSU升级】Oracle_RAC10.2.0.1到10.2.0.5.9的详细升级过程(二)
- hibernate对映射关系进行排序
- 如何改进iOS客户端的升级提醒功能
- 关于string转char*的问题
- MyEclipse本地破解显示中文界面
- 插件地址
- Ubuntu Linux 查看、编辑、比较二进制文件
- VS2005 VS2010数据断点不能设置的原因 new data breakpoint is disabled
- C#的GC,也就是垃圾回收机制
- cocos2d-x第一天:环境的搭建
- ARM存储器之:协处理器CP15
- C# 在两个不同的方法里面Lock同一个锁对象,是否需要线程等待?