c和c++的转换-1

用c连接字符串还是比较麻烦的。因为string并非c的内置类型。我们看看麻烦的情况。以连接字符串为例:

 

c的代码是这样的:

 

 

char * strcat_cstyle()
{
     // c++ style
    char* a ="hello ";
    char* b ="world by c";
    int len = strlen(a)+strlen(b)+1;
    char*c =(char*)malloc(len);
    memset(c,0,len);
    strcat(c,a);
    strcat(c,b);
    return c;
}
 

你需要

 

  • 自己计算新字符串的长度
  • 自己分配并转型
  • 自己清空内存区
  • 然后连接
  • 别忘了,用完后记得free

不这样会如何?你可以试试吧len改小,看看c遇到这样的问题的反应会如何暴烈。

 

还好,在c++内虽然没有string类型,但是在库内提供了一个string的类,于是:

 

 

 

string strcat_cppstyle()
{
     // c++ style
    string a ="hello";
    string b ="world by c++";
    return a+b ;
}
 

这样就很简单直接了。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值