|
簡介:
頭文件ctype.h聲明了一組用于分類和轉(zhuǎn)換單個字符的函數(shù)。所有的函數(shù)都接收一個int型的參數(shù),并返回一個int——返回的int可能代表一個字符,也可能代表的是bool值(0為假,非0為真)。
你可能會有疑問,既然是字符操作,接受的參數(shù)為什么不用char,而用int? Good question,答案我也不確定……O_O
好吧,我們繼續(xù)……
因為這些“函數(shù)”太過常用,且調(diào)用頻繁,所以為了提高效率,這些“函數(shù)”是由一些宏實現(xiàn)的,通過查看源文件可以很容易發(fā)現(xiàn)這一點。還有一點需要了解的是,如果修改了區(qū)域設置(默認為“C”區(qū)域設置),這些函數(shù)的行為可能會略有不同,不過不用擔心,現(xiàn)在只需要知道有這么一個概念,后面介紹區(qū)域設置(locale.h)會再詳細討論。它們可以分為兩組。一組用來判斷字符是否屬于某個分類,包括:
| 名稱 |
簽名 |
描述 |
| isalnum |
int isalnum ( int c ); |
數(shù)字或字母 |
| isalpha |
int isalpha ( int c ); |
字母,或者那些實現(xiàn)定義的字符集中iscntrl,isdigit,ispunct,isspace判定都不為真的字符。在“C”區(qū)域設置里,isalpha只是isupper,islower返回真的字符 |
| iscntrl |
int iscntrl ( int c ); |
控制字符,與isprint相反,即不可打印字符 |
| isdigit |
int isdigit ( int c ); |
十進制數(shù)字字符 |
| isgraph |
int isgraph ( int c ); |
除空格(' ')以外的其他可打印(isprint為true)字符 |
| islower |
int islower ( int c ); |
小寫字母 |
| isprint |
int isprint ( int c ); |
包括空格(' ')在內(nèi)的打印字符 |
| ispunct |
int ispunct ( int c ); |
除空格(' ')和isalnum判定為真的字符以外的所有打印字符 |
| isspace |
int isspace ( int c ); |
空白字符 |
| isupper |
int isupper ( int c ); |
大寫字母 |
| isxdigit |
int isxdigit ( int c ); |
16進制數(shù)字字符 |
另外一組用來轉(zhuǎn)換大小寫,包括:
| 名稱 |
簽名 |
描述 |
| toupper |
int toupper ( int c ); |
轉(zhuǎn)換c為大寫 |
| tolower |
int tolower ( int c ); |
轉(zhuǎn)換c為小寫 |
|