閱讀277 返回首頁    go 技術社區[雲棲]


cctype <ctype.h> <cctype>

英文原文:https://www.cplusplus.com/reference/clibrary/cctype/

cctype (ctype.h)

字符處理函數

這個頭文件聲明了一係列用來分類和轉換單個字符的函數。

所有這些函數都把參數(單個字符)視為與之等值的整數,並且返回一個整數。該返回值可能是另外一個字符,也可能是一個代表布爾值的值(0表示 false,而另外一個不等於0的整數代表 true)。


這裏有兩類函數:

首先,歸類函數可以檢查作為參數傳遞過來的單個字符是否屬於某一特定類。如下所示:

isalnum 檢查字符是否是字母或者數字(函數)
isalpha 檢查字符是否是字母(函數)
iscntrl 檢查字符是否是控製字符(函數)
isdigit 檢查字符是否是十進製數字(函數)
isgraph 檢測字符是否為可顯示字符(函數)
islower 檢測字符是否為小寫字母(函數)
isprint 檢測字符是否為可打印字符(函數)
ispunct 檢測字符是否為標點符號(函數)
isspace 檢測字符是否為空白(函數)
isupper 檢測字符是否為大寫字母(函數)
isxdigit 檢查字符是否是十六進製數字(函數)

其次,下麵兩個函數可以轉換字母大小寫:
tolower 將大寫字母轉換成小寫字母(函數)
toupper 將小寫字母轉換成大寫字母(函數)

對於第一類函數,這裏是一個關於每個函數是怎麼考慮原始的127個ASCII字符的圖表。(x 表示該函數處理那個字符時,會返回true)

ASCII values characters iscntrl isspace isupper islower isalpha isdigit isxdigit isalnum ispunct isgraph isprint
0x00 .. 0x08 NUL, (other control codes) x                    
0x09 .. 0x0D (white-space control codes: '\t','\f','\v','\n','\r') x x                  
0x0E .. 0x1F (other control codes) x                    
0x20 space (' ')   x                 x
0x21 .. 0x2F !"#$%&'()*+,-./                 x x x
0x30 .. 0x39 0123456789           x x x   x x
0x3a .. 0x40 :;<=>?@                 x x x
0x41 .. 0x46 ABCDEF     x   x   x x   x x
0x47 .. 0x5A GHIJKLMNOPQRSTUVWXYZ     x   x     x   x x
0x5B .. 0x60 [\]^_`                 x x x
0x61 .. 0x66 abcdef       x x   x x   x x
0x67 .. 0x7A ghijklmnopqrstuvwxyz       x x     x   x x
0x7B .. 0x7E {|}~                 x x x
0x7F (DEL) x                    

擴展字符(0x7F以後的字符)可能屬於多種不同的種類,依賴於local地區設置和平台。作為一個通用規則,在支持擴展字符的大多數平台上,對於標準的C語言local地區設置而言,ispunct, isgraph 和 isprint在處理這些擴展字符時,都會返回true。

最後更新:2017-04-02 06:52:01

  上一篇:go 《Java 本地接口規範》- JNI 函數(一)
  下一篇:go Format String Vulnerability lab實驗