天天看點

C++ 頭檔案「ctype.h」裡的:isalpha、islower、isupper、isalnum等函數1 isalpha()2 isalnum()3 islower()4 isupper()5 isdigit()6 tolower()7 toupper()

ctype.h是C标準函數庫中的頭檔案,定義了一批C語言字元分類函數(C character classification functions),用于測試字元是否屬于特定的字元類别,如字母字元、控制字元等等。既支援單字(Byte)字元,也支援寬字元。

1 isalpha()

isalpha()用來判斷一個字元是否為字母,如果是字元則傳回非零,否則傳回零。

cout << isalpha('a');//傳回非零
	cout << isalpha('2');//傳回0
           
#include<stdio.h>
#include<ctype.h>
int main()
{
    char ch1='*';
    char ch2='a';
    if(isalpha(ch1)!=0)
        printf("%c is the ASCII alphabet\n",ch1);
    else
        printf("%c is not the ASCII alphabet\n",ch1);
    if(isalnum(ch2)!=0)
        printf("%c is the ASCII alphabet\n",ch2);
    else
        printf("%c is not the ASCII alphabet\n",ch2);
    return0;
}
           

2 isalnum()

isalnum()用來判斷一個字元是否為數字或者字母,也就是說判斷一個字元是否屬于a~ z||A~ Z||0~9。

cout << isalnum('a');//輸出非零
cout << isalnum('2');//非零
cout << isalnum('.');//零
           

3 islower()

islower()用來判斷一個字元是否為小寫字母,也就是是否屬于a~z。

cout << islower('a');//非零
cout << islower('2');//輸出0
cout << islower('A');//輸出0
           

4 isupper()

isupper()和islower相反,用來判斷一個字元是否為大寫字母。

cout << isupper('a');//傳回0
cout << isupper('2');//傳回0
cout << isupper('A');//傳回非零
           

5 isdigit()

判斷一個字元是否是十進制數字,isdigit() 用來檢測一個字元是否是十進制數字。十進制數字包括:0 1 2 3 4 5 6 7 8 9

傳回值:傳回值為非零(真)表示c是十進制數字,傳回值為零(假)表示c不是十進制數字。

6 tolower()

将大寫字母轉換為小寫字母,隻有當參數 c 是一個大寫字母,并且存在對應的小寫字母時,這種轉換才會發生。int tolower ( int c );

傳回值:如果轉換成功,那麼傳回與 c 對應的小寫字母;如果轉換失敗,那麼直接傳回 c(值未變)。

注意,傳回值為 int 類型,你可能需要隐式或者顯式地将它轉換為 char 類型。

7 toupper()

toupper() 函數用來将小寫字母轉換為大寫字母。隻有當參數 c 是一個小寫字母,并且存在對應的大寫字母時,這種轉換才會發生。

傳回值:如果轉換成功,那麼傳回與 c 對應的大寫字母;如果轉換失敗,那麼直接傳回 c(值未變)。

注意,傳回值為 int 類型,你可能需要隐式或者顯式地将它轉換為 char 類型。

參考連結:

http://c.biancheng.net/ref/isalnum.html

繼續閱讀