首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C標準庫ctype.h:字符分類與轉換函數完全指南

     編輯:關於C語言

C標準庫ctype.h:字符分類與轉換函數完全指南

字符分類函數(返回非0=真,0=假)

函數判斷條件示例
isalpha(c)字母 A-Z, a-zisalpha('c')=真
isdigit(c)數字 0-9isdigit('1')=真
isxdigit(c)十六進制 0-9, A-F, a-fisxdigit('A')=真
isalnum(c)字母或數字isalnum('+')=假
islower(c)小寫字母
isupper(c)大寫字母
isspace(c)空白字符:空格 \t \n \r \v \f
ispunct(c)標點符號(非字母數字空白)
iscntrl(c)控制字符
isprint(c)可打印字符(含空格)
isgraph(c)可打印非空格字符

字符轉換函數

函數功能返回值
tolower(c)大寫轉小寫轉換後字符(非字母不變)
toupper(c)小寫轉大寫轉換後字符

關鍵使用規範

  1. 參數類型為 int:必須傳unsigned char值或EOF,直接傳char可能負值導致未定義行為
  2. 多為宏實現:參數不可有副作用(isalpha(c++)危險)
  3. 受 locale 影響:setlocale(LC_CTYPE, "")後判斷依賴當前區域

實戰示例 1:統計字符類型

輸出:
c is alpha
+ is other
+ is other
1 is digit
1 is digit

實戰示例 2:十六進制字符串轉長整型


實戰示例 3:字符串大小寫轉換


總結

ctype.h提供標準、可移植的字符分類與轉換。掌握參數int規範、宏副作用陷阱、locale敏感性,能安全高效處理文本解析、驗證、轉換任務。isxdigit+toupper+strchr組合是解析十六進制/標識符的經典模式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved