字符數組是以‘\0’結尾的,所以在字符數組賦值給字符串時會多出來一個’\0’。
char a[]="mynameis"
string b=a;
cout<<b<<endl;
此時輸出結果應爲mynameis,然而輸出結果爲mynameis口(空字符標誌打不出來);
所以用字符數組給string賦值時要用assign()
char a[]="mynameis"
string b;
a.assign(y,y+strlen(y)-1) //strlen會計算空字符的。
cout<<b<<endl;
字符串賦值給字符數組用循環解決。
string x;
char y[100];
for(int i=1;i<x.size();i++)
{
y[i]=x[i];
}
字符串的操作
若string a="mynameis"
此時可以對a[0,a.size() ) 內的元素操作。
若定義 string a;
而a無值對a的操作是無意義的。
寫在最後:
我叫風骨散人,名字的意思是我多想可以不低頭的自由生活,可現實卻不是這樣。家境貧寒,總得向這個世界低頭,所以我一直在奮鬥,想改變我的命運給親人好的生活,希望同樣被生活綁架的你可以通過自己的努力改變現狀,深知成年人的世界裏沒有容易二字。目前是一名在校大學生,預計考研,熱愛編程,熱愛技術,喜歡分享,知識無界,希望我的分享可以幫到你!
如果有什麼想看的,可以私信我,如果在能力範圍內,我會發布相應的博文!
感謝大家的閱讀!😘你的點贊、收藏、關注是對我最大的鼓勵!