
- C 標準庫
- C 庫 - 首頁
- C 庫 - <assert.h>
- C 庫 - <complex.h>
- C 庫 - <ctype.h>
- C 庫 - <errno.h>
- C 庫 - <fenv.h>
- C 庫 - <float.h>
- C 庫 - <inttypes.h>
- C 庫 - <iso646.h>
- C 庫 - <limits.h>
- C 庫 - <locale.h>
- C 庫 - <math.h>
- C 庫 - <setjmp.h>
- C 庫 - <signal.h>
- C 庫 - <stdalign.h>
- C 庫 - <stdarg.h>
- C 庫 - <stdbool.h>
- C 庫 - <stddef.h>
- C 庫 - <stdio.h>
- C 庫 - <stdlib.h>
- C 庫 - <string.h>
- C 庫 - <tgmath.h>
- C 庫 - <time.h>
- C 庫 - <wctype.h>
- C 標準庫資源
- C 庫 - 快速指南
- C 庫 - 有用資源
- C 庫 - 討論
- C 程式設計資源
- C 程式設計 - 教程
- C - 有用資源
C 庫 - iswxdigit() 函式
C 的wctype庫的iswxdigit()函式用於檢查給定的寬字元(由wint_t表示)是否對應(如果縮窄)於十六進位制數字字元,即“0123456789ABCDEF”中的一個。
此函式可用於輸入驗證、解析十六進位制數字、資料清理或語法高亮。
“iswdigit”和“iswxdigit”是僅有的兩個不受當前安裝的C語言區域設定影響的標準寬字元函式。
語法
以下是iswxdigit()函式的C庫語法:
int iswxdigit( wint_t ch )
引數
此函式接受一個引數:
-
ch - 它是要檢查的型別為'wint_t'的寬字元。
返回值
如果寬字元是十六進位制數字字元,則此函式返回非零值,否則返回零。
示例 1
以下是演示iswxdigit()函式用法的基本c示例。
#include <wctype.h> #include <stddef.h> #include <wchar.h> int main() { wchar_t ch = L'F'; if (iswxdigit(ch)) { // The character is a valid hexadecimal digit (0-9, a-f, A-F) wprintf(L"%lc is a valid hexadecimal digit.\n", ch); } else { wprintf(L"%lc is not a valid hexadecimal digit.\n", ch); } }
輸出
以下是輸出:
F is a valid hexadecimal digit.
示例 2
我們建立一個c程式,並使用iswxdigit()來檢查十六進位制數字字元是否有效。
#include <wctype.h> #include <stddef.h> #include <wchar.h> int main() { const wchar_t *hexString = L"3A4f"; while (*hexString) { if (!iswxdigit(*hexString)) { wprintf(L"Invalid hexadecimal string.\n"); return 1; } hexString++; } wprintf(L"Valid hexadecimal string.\n"); }
輸出
以下是輸出:
Valid hexadecimal string.
示例 3
讓我們再建立一個c程式,從使用者輸入或資料流中過濾掉非十六進位制字元。
#include <wctype.h> #include <stddef.h> #include <wchar.h> int main() { const wchar_t *input = L"123GHI456"; wchar_t sanitized[100]; int j = 0; for (int i = 0; input[i] != L'\0'; i++) { if (iswxdigit(input[i])) { sanitized[j++] = input[i]; } } sanitized[j] = L'\0'; wprintf(L"Sanitized hexadecimal string: %ls\n", sanitized); }
輸出
以下是輸出:
Sanitized hexadecimal string: 123456
c_library_wctype_h.htm
廣告