使用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 元素 逐個賦值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章