C++ 字符串連接

2023-03-20 15:55 更新

有趣的是,+操作符可以用于字符串,它執(zhí)行字符串連接操作。連接是指將字符串首尾相連。例如:

apstring fruit = "banana";
apstring bakedGood = " nut bread";
apstring dessert = fruit + bakedGood;
cout << dessert << endl;

這個程序的輸出是: banana nut bread。

不幸的是,+操作符不能應用于原生C字符串上,所以不能編寫這樣的語句:

apstring dessert = "banana" + " nut bread";

因為所有的操作數(shù)都是C字符串。但是只要其中一個是apstring,C++就會自動的轉換另一個。將一個字符連接到一個apstring變量的頭或尾都是可以的。下面的例子中,我們會使用連接和字符算數(shù)來輸出按字母順序排列的序列。例如,在Robert McCloskey的《Make Way for Ducklings》一書中,小鴨子的名字分別是Jack,、Kack、Lack、Mack、Nack、Ouack、Pack和Quack.。這是一個按順序輸出這些名字的循環(huán):

apstring suffix = "ack";
char letter = ’J’;
while (letter <= ’Q’) {
  cout << letter + suffix << endl;
  letter++;
}

程序的輸出是:

Jack
Kack
Lack
Mack
Nack
Oack
Pack
Qack

當然,這并不是很正確,因為我拼錯了“Ouack”和“Quack”。作為練習,請修改程序以修正這個錯誤。

再次提醒,一定要小心使用字符串連接,在應用apstring時可以使用,而在原生C字符串時不要使用。不幸的是,在C++中,像letter + "ack"這樣的表達式在語法上是正確的,雖然它會產(chǎn)生奇怪的結果,至少在我的開發(fā)環(huán)境中是這樣。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號