跳轉到內容

C 程式設計/wctype.h

來自華夏公益教科書,自由的教科書

在 C 程式語言中,wctype.h 是標準庫中的一個頭檔案,包含各種用於分類和對映寬字元的函式和宏。用於處理(普通、非寬)字元的對應標頭檔案是 <ctype.h>

此標頭檔案聲明瞭(來自 <wchar.h>wint_twctype_t 型別,以及 WEOF 宏。[1]wint_t 能夠儲存任何寬字元或值 WEOF。)型別 wctrans_t 也被宣告,它代表字元之間的對映。[1]

字元分類函式

[編輯 | 編輯原始碼]

這些函式根據當前區域設定,返回非零/零,取決於引數是否屬於特定類別。POSIX:2008 指定了函式的替代版本,這些版本以 _l 結尾,並接受區域設定(locale_t)作為附加引數。

宣告 如果 ch 是……則返回非零
int iswalnum(wint_t wc); 字母數字
int iswalpha(wint_t wc); 字母
int iswblank(wint_t wc); 空格
int iswcntrl(wint_t wc); 控制字元
int iswctype(wint_t wc, wctype_t charclass); charclass
int iswdigit(wint_t wc); 數字
int iswgraph(wint_t wc); 可見字元
int iswlower(wint_t wc); 小寫字母
int iswprint(wint_t wc); 可列印
int iswpunct(wint_t wc); 標點符號
int iswspace(wint_t wc); 空白
int iswupper(wint_t wc); 大寫字母
int iswxdigit(wint_t wc); 十六進位制數字

字元對映函式

[編輯 | 編輯原始碼]

這些函式接受一個寬字元,並對其應用一些對映。

宣告 描述
wint_t towctrans(wint_t ch, wctrans_t desc); 根據對映 desc 對映 ch
wint_t towlower(wint_t ch); 如果 ch 是大寫字母,則將其對映為小寫,否則保持不變
wint_t towupper(wint_t ch); 如果 ch 是小寫字母,則將其對映為大寫,否則保持不變

其他函式

[編輯 | 編輯原始碼]

這些函式從字串建立用於其他函式的值。請注意,iswdigit(c) 等同於 iswctype(c, wctype("digit"))toupper(c) 等同於 towctrans(c, wctrans("toupper"))[2]

宣告 描述
wctrans_t wctrans(const char *charclass); 返回一個字元對映,可用於 towctrans
wctype_t wctype(const char *property); 返回一個字元類別,可用於 iswctype

參考文獻

[編輯 | 編輯原始碼]
  1. a b wctype.h: 寬字元分類和對映實用程式 – 基本定義參考,單一 UNIX® 規範,第 7 版,來自開放組
  2. 當前標準(C99 包含技術勘誤 TC1、TC2 和 TC3)PDF (3.61 MB). 第 397、398 和 400 頁。
華夏公益教科書