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');
   }
}

相關資訊