iswalnum ()-iswxdigit ()- 測試廣域整數值
格式
#include <wctype.h>
int iswalnum(wint_t wc);
int iswalpha(wint_t wc);
int iswblank(wint_t wc);
int iswcntrl(wint_t wc);
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);
語言層次
ANSI
安全執行緒
是
區分語言環境
如果在編譯指令上指定 LOCALETYPE (*LOCALE) ,則這些函數的行為可能會受到現行語言環境的 LC_CTYPE 種類所影響。 如果在編譯指令上指定 LOCALETYPE (*LOCALEUCS2) 選項或 LOCALETYPE (*LOCALEUTF) 選項,則現行語言環境的 LC_UNI_CTYPE 種類可能會影響這些函數的行為。 在編譯指令上指定 LOCALETYPE (*CLD) 時,無法使用這些函數。 如需相關資訊,請參閱 瞭解 CCSID 及語言環境。
寬字元函數
如需相關資訊,請參閱 寬字元 。
說明
The functions listed above, which are all declared in <wctype.h>, test a given wide integer value.
wc 的值必須是對應於現行語言環境中有效字元的寬字元碼,或必須等於巨集 WEOF 的值。 如果引數有任何其他值,則未定義行為。
以下是此群組中每一個功能的說明。
- iswalnum ()
- 測試是否有寬英數字元。
- iswalpha ()
- 測試現行語言環境的 alpha 類別中定義的寬英文字母。
- iswblank ()
- 測試現行語言環境的 blank 類別中定義的寬空白或定位點字元。
- iswcntrl ()
- 測試現行語言環境的 cntrl 類別中定義的寬控制字元。
- iswdigit ()
- 測試寬小數位數字元: 0 到 9 ,如現行語言環境的 digit 類別中所定義。
- iswgraph ()
- 測試現行語言環境的 graph 類別中定義的寬列印字元,而不是空格。
- iswlower ()
- 測試現行語言環境的 lower 類別中定義的寬小寫字元,或沒有任何
iswcntrl()、iswdigit()、iswspace()函數為 true。 - iswprint ()
- 測試現行語言環境的 print 類別中所定義的任何寬列印字元。
- iswpunct ()
- 測試現行語言環境的 punct 類別中定義的寬非英數、非空格字元。
- iswspace ()
- 測試現行語言環境的 space 類別中定義的寬空格字元。
- iswpper ()
- 測試現行語言環境的 upper 類別中定義的寬大寫字元。
- iswxdigit ()
- 測試現行語言環境的 xdigit 類別中定義的寬十六進位數字 0 到 9、a 到 f 或 A 到 F。
傳回的值
如果寬整數滿足測試值,則這些函數會傳回非零值,如果不滿足測試值,則會傳回 0 值。 wc 的值必須可呈現為寬無正負號字元。 WEOF 是有效的輸入值。
範例
#include <stdio.h>
#include <wctype.h>
int main(void)
{
int wc;
for (wc=0; wc <= 0xFF; wc++) {
printf("%3d", wc);
printf(" %#4x ", wc);
printf("%3s", iswalnum(wc) ? "AN" : " ");
printf("%2s", iswalpha(wc) ? "A" : " ");
printf("%2s", iswblank(wc) ? "B" : " ");
printf("%2s", iswcntrl(wc) ? "C" : " ");
printf("%2s", iswdigit(wc) ? "D" : " ");
printf("%2s", iswgraph(wc) ? "G" : " ");
printf("%2s", iswlower(wc) ? "L" : " ");
printf(" %c", iswprint(wc) ? wc : ' ');
printf("%3s", iswpunct(wc) ? "PU" : " ");
printf("%2s", iswspace(wc) ? "S" : " ");
printf("%3s", iswprint(wc) ? "PR" : " ");
printf("%2s", iswupper(wc) ? "U" : " ");
printf("%2s", iswxdigit(wc) ? "X" : " ");
putchar('\n');
}
}