小人物學(xué)個(gè)大習(xí)(91-100)
C++ primer
讀取未知數(shù)量的string對(duì)象
int main()
{
string word;
while(cin>>word)
cout<<word<<endl;
return 0;
}有時(shí)我們希望保留輸入時(shí)的空白符,這時(shí)可以使用getline函數(shù)替代>>運(yùn)算符
getline函數(shù)的參數(shù)是一個(gè)輸入流和一個(gè)string對(duì)象,函數(shù)從給定的輸入流中讀入內(nèi)容,直到遇到換行符為止
換行符也被讀入了,但是向string中存儲(chǔ)的是換行符之前的內(nèi)容,并返回流參數(shù)使用getline讀取一整行
int main()
{
string line;
while(getline(cin,line))
cout<<line<<endl;
return 0;
}string.empty(),empty函數(shù)根據(jù)string對(duì)象是否為空返回一個(gè)對(duì)應(yīng)的布爾值
string.size(),size函數(shù)返回string對(duì)象的長(zhǎng)度,即字符的個(gè)數(shù),其返回的類(lèi)型為string::size_type類(lèi)型是一個(gè)無(wú)符號(hào)的值
如果一條表達(dá)式中已經(jīng)有了size()函數(shù)就不要再使用int了,這樣可以避免混用int和unsigned可能帶來(lái)的問(wèn)題
==,!= 用于檢驗(yàn)string是否相等
兩個(gè)string對(duì)象的對(duì)應(yīng)位置上的字符相等,但是一個(gè)長(zhǎng)度較短,則說(shuō)較短的<較長(zhǎng)
如果對(duì)應(yīng)位置上不一致,則比大小時(shí),是使用的第一對(duì)相異字符進(jìn)行比較
string s1 ="string"; 正確,允許將字面值轉(zhuǎn)換為字符串string s2 =s1+"string";正確,強(qiáng)制轉(zhuǎn)換了
string s3 =“hello”+“,”;錯(cuò)誤,不允許將兩個(gè)都不是string對(duì)象的字面值相加
string s4 = “hello”+“,”+s2;錯(cuò)誤,計(jì)算順序的問(wèn)題,這樣也不行
字符串字面值與stirng是不同的類(lèi)型
cctype頭文件,中定義了一系列字符操作的函數(shù),如:
tolower(c)如果c是大寫(xiě)字母,輸出對(duì)應(yīng)的小寫(xiě)字母
toupper(c)如果c是小寫(xiě)字母,輸出對(duì)應(yīng)的大寫(xiě)字母在C++中使用c語(yǔ)言的標(biāo)準(zhǔn)庫(kù)時(shí),C++將這些文件命名為cname
重要的不是學(xué)了多少,而是有沒(méi)有學(xué)習(xí)。
2023年7月7日