char* 与string 互转

字符串常用char[]和string来存储,前者为C所拥有,当然C++也可以使用;而后者是C++独有的字串类别。
在使用C++处理字串时,时常会char[]和string互转,来符合接下来要使用的函式中参数的型态,假如可以互转自如,那么处理会更简单便利!

很多网上说
string 转 char *
char *p = string.c_str();

这是不对的,稍微测试就可以得到错误原因
c_str()返回的是const char* 而const char* 不能转换成char*

正确的做法应该是采取拷贝的方式

    string s;
    getline(cin,s);   // 字符串输入
    char str[30];
    strcpy(str, s.c_str());  //string 转char*

char* 转string

    char *p ="优快云"; 
    string s;   
    s.assign(p);   //char* 转string
    cout << s <<endl;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值