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

C/C++ 字元分類與轉換函式庫 完整速查表

     編輯:關於C語言

頭文件引用

  • C++:#include <cctype>
  • C:#include <ctype.h>

所有函式接受 int (實為 unsigned char 或 EOF),回傳 int (非零為真,零為假)。

分類檢測函式

函式檢測條件 (真)
isalnum(c)字母或數字 (A-Z, a-z, 0-9)
isalpha(c)字母 (A-Z, a-z)
isblank(c)空格 或 水平製表符 (\t)
iscntrl(c)控制字元 (0-31, 127)
isdigit(c)十進位數字 (0-9)
isgraph(c)可列印非空白字元 (33-126)
islower(c)小寫字母 (a-z)
isprint(c)可列印字元 (含空格, 32-126)
ispunct(c)標點符號 (非字母數字空白的可列印字元)
isspace(c)標準空白字元 (空格, \f, \n, \r, \t, \v)
isupper(c)大寫字母 (A-Z)
isxdigit(c)十六進位數字 (0-9, a-f, A-F)

大小寫轉換函式

函式行為
tolower(c)大寫字母 → 小寫;其他字元原樣返回
toupper(c)小寫字母 → 大寫;其他字元原樣返回

高頻使用組合

  • tolower / toupper:大小寫不敏感比較、正規化。
  • isupper / islower:字元型態判斷。
  • isalnum / isalpha:驗證識別碼、關鍵字合法性。

重要使用警示

  1. 參數域:僅接受 unsigned char 值 (0-255) 或 EOF。傳入負值 (如普通 char 可能為負) 為未定義行為。
    正確寫法:isalpha((unsigned char)ch)。
  2. Locale 相關:行為受 setlocale(LC_CTYPE, ...) 影響,多位元組字元環境下需謹慎。
  3. 非標準擴展:部分實現提供 isascii、toascii 等,不可移植。

總結

/ 提供標準化、可移植的字元分類與轉換介面。牢記「參數轉 unsigned char」鐵律,善用 isalnum/isalpha/tolower/toupper 高頻組合,即能編寫健壯的字元處理程式碼。

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