W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
一般來說,檢查一個字符并測試它是大寫還是小寫、是字母還是數(shù)字是有用的。C++提供了一組庫函數(shù)用來執(zhí)行這種分類操作。要使用這些函數(shù),需要包含頭文件ctype.h。
char letter = ’a’;
if (isalpha(letter)) {
cout << "The character " << letter << " is a letter." << endl;
}
你可能期望isalpha的返回值是bool類型,但由于一些甚至我都不想考慮的原因,它的返回值實際是整型,如果參數(shù)不是字母那結(jié)果會是0,參數(shù)是字母時結(jié)果就是非0值。
這個奇怪現(xiàn)象并不像看起來這般不便,因為如例子所示,在條件中使用這種整型數(shù)是合法的,其中0被當(dāng)做假,而非0值被當(dāng)做真處理。
從技術(shù)上講,這種事情是不允許的——整型數(shù)并不同于布爾值。盡管如此,C++允許不同類型間自動轉(zhuǎn)換這個習(xí)慣是有用的。
其他字符分類函數(shù)包括isdigit(用以識別0~9之間的數(shù)字)、isspace(用以識別各種空白字符,如空格符、制表符、換行符)等等。其他如isupper和islower函數(shù)用以識別大小寫字母。
最后,還有兩個進行大小寫轉(zhuǎn)換的函數(shù),它們是toupper和 tolower。它們都接收一個字符型的參數(shù)并返回轉(zhuǎn)換后的字符。
char letter = ’a’;
letter = toupper (letter);
cout << letter << endl;
這段代碼的輸出是A。
作為練習(xí),請使用字符分類與轉(zhuǎn)換庫編寫apstringToUpper和apstringToLower函數(shù),它們都接收一個apstring類型的參數(shù),將參數(shù)中的所有字母都轉(zhuǎn)換為大寫或者小寫,返回類型為void。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: