使用String逐个赋值字符

使用String逐个赋值字符


  • 动机
    在做毕设,进行数据清洗的过程中,通过使用string来抓取其中的字符串。

  • Bug-1

#include<string>
#include<iostream>
using namespace std;

int main()
{
    string a;
    string b;
    cin>>a;

    for(int i=0; i<5; i++ )
        cout<<a[i]<<endl;

    b[0] = a[0]; //string是不可以像char一样,有a[i]=b[i]这样赋值的
    cout<<endl;
    cout<<b<<endl;


    return 0;
}
  • Bug-2
#include<string>
#include<iostream>
using namespace std;

int main()
{
    string a;
    string b;

    int j=1;

    cin>>a;

    for(int i=0; i<5; i++ )
        cout<<a[i]<<endl;

    b[0] += a[0];//赋值时注意千万不能用b[0],而应该是b
    cout<<endl;
    cout<<b<<endl;

    b[0] += a[j];
    cout<<b<<endl;

    return 0;
}
  • 下面是正确的方式
#include<string>
#include<iostream>
using namespace std;

int main()
{
    string a;
    string b;
    cin>>a;

    for(int i=0; i<5; i++ )
        cout<<a[i]<<endl;

    b += a[0];//这里既然使用了string,那么赋值的格式就用他本身的+号
    cout<<endl;
    cout<<b<<endl;

    b += a[1];
    cout<<b<<endl;

    return 0;
}

实验结果如图所示:
实验结果

  • 感悟总结

string的方法需要用+-等特殊的方式,这样所以在使用时要多参考其代码库。

第一次使用博客来记录bug&solution,原来是用word,但觉得不是很美观和方便,尝试用新方法,毕竟markdown是神器,学这一行的一定要用于尝试新东西才可。

  • 引用连接

1.c++ string 元素 逐个赋值

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值