博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++ string类型转换为char *类型
阅读量:5974 次
发布时间:2019-06-19

本文共 846 字,大约阅读时间需要 2 分钟。

string 是c++标准库里面其中一个,封装了对字符串的操作

把string转换为char* 有3中方法:
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;

 

 

写c++代码会经常使用标准C的东西,两者搀和起来使用中难免出现类型不匹配,需要转换,之前经常使用sprintf 将char* 类型转换为string类型

后来遇到string类型向char *类型转换,查了一下资料,使用c_str函数,格式为:

string s="1234";

const char *c = s.c_str();
需要注意的是,c_str() 返回值为const char *类型的!

例子:

[cpp] view plain copy print?

string add_to = "hello!";  
const string add_on = "baby";  
const char *cfirst = add_to.c_str();  
const char *csecond = add_on.c_str();  
char *copy = new char[strlen(cfirst) + strlen(csecond) + 1];  
strcpy(copy, cfirst);  
strcat(copy, csecond);  
add_to = copy;  
cout << "copy: " << copy << endl;  
delete [] copy;  
cout << "add_to: " << add_to << endl;  

转载地址:http://jabox.baihongyu.com/

你可能感兴趣的文章
Windows 7 桌面便签使用小技巧
查看>>
puppet自动化运维之mount资源
查看>>
11.2.0.3.9 (Jan 2014) Database Patch Set Update (PSU)
查看>>
只能上QQ不能打开网页的故障汇总
查看>>
大数据时代从驾驭到消费
查看>>
多表连接查询
查看>>
RedHat7新特性更改
查看>>
远程访问MySQL数据库
查看>>
探究分布式并发锁
查看>>
mysql 临时表和视图
查看>>
转到做市场部后的一点心得和体验
查看>>
实现Instagram的Material Design概念设计
查看>>
我的网络编程之旅
查看>>
802.1x认证全过程抓包图解
查看>>
Cisco 路由器 支持的AAA计费
查看>>
Core python
查看>>
Apache整合Tomcat
查看>>
浏览器 HTTP 协议缓存机制详解
查看>>
Linux 下使用 NMON 分析系统性能(转载+实战)
查看>>
【总结】冒泡排序及冒泡排序的两种优化
查看>>