使用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是神器,學這一行的一定要用於嘗試新東西纔可。
- 引用連接