C++:向字符串末尾添加字符的两种方法

方法一:append

  • 在字符串末尾添加另一字符串
     string s0="123";//字符串s0
     string s1="456";//字符串s1
     s0.append(s1);
     cout<<"s0: "<<s0<<endl;
     cout<<"s1: "<<s1<<endl;

        输出结果:

    s0: 123456
    s1: 456
  • 在字符串末尾添加常量字符串
     string s0="123";//字符串s0
     cout<<"s0: "<<s0.append("456")<<endl;

         输出结果:

    s0: 123456
  • 在字符串末尾添加单个字符

        注意:append并没有提供直接插入单个字符的方法,若直接string.append('a');会显示错误

      error: invalid conversion from 'char' to 'const char*' [-fpermissive]|

        但C++提供了方法:

string& append (const string& str, size_t subpos, size_t sublen);

       我们可以使用该方法向字符串末尾添加单个字符。但该方法较为麻烦,可以采用后续介绍的push_back()方法向字符串末尾添加单个字符。

     string s0="123";//字符串s0
     cout<<"s0: "<<s0.append("a",0,1)<<endl;//表示向s0字符串插入            
                                            //从"a"字符串0位置开始的一个字符

         输出结果:

    s0: 123a
  • 总结:在采用append方法,append方法会返回一个字符串的引用。所以也可以采用s1=s0.append("123");
     string s0="123";//字符串s0
     string s1=s0.append("456");
     cout<<"s0: "<<s0<<endl;
     cout<<"s1: "<<s1<<endl;
     cout<<&s0<<" "<<&s1<<endl;

         输出结果:

    s0: 123456
    s1: 123456
    0x6efec4 0x6efeac

        并且可以看到,两者指向的地址并不相同。

方法二:push_back()

     string s0="123";//字符串s0
     s0.push_back('4');
     cout<<s0<<endl;

        输出结果:

    1234

        需要注意的是,push_back()不能向字符串后添加字符串。否则会出现以下错误:

        error: invalid conversion from 'const char*' to 'char' [-fpermissive]|

  • 8
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值