
- 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 庫 - iswgraph() 函式
C 的wctype 庫iswgraph() 函式用於檢查給定的寬字元(型別為 wint_t)是否為圖形字元。圖形字元包括所有可列印字元,但空格除外。
可列印字元包括數字(0123456789)、大寫字母(ABCDEFGHIJKLMNOPQRSTUVWXYZ)、小寫字母(abcdefghijklmnopqrstuvwxyz)、標點符號(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)或當前 C 語言環境特有的任何圖形字元。
語法
以下是iswgraph() 函式的 C 庫語法:
int iswgraph( wint_t ch );
引數
此函式接受單個引數:
-
ch - 它是要檢查的型別為 'wint_t' 的寬字元。
返回值
如果寬字元具有圖形表示字元,則此函式返回非零值,否則返回零。
示例 1
以下是演示如何使用iswgraph() 在寬字元集中識別圖形字元的基本 C 語言示例。
#include <locale.h> #include <stdio.h> #include <wchar.h> #include <wctype.h> int main(void) { // "en_US.utf8" to handle Unicode characters setlocale(LC_ALL, "en_US.utf8"); // Array of wide characters including wchar_t character[] = {L'A', L' ', L'\n', L'\u2028'}; size_t num_char = sizeof(character) / sizeof(character[0]); // Check and print if a character is graphical character or not printf("Checking graphical characters:\n"); for (size_t i = 0; i < num_char; ++i) { wchar_t ch = character[i]; printf("Character '%lc' (%#x) is %s graphical char\n", ch, ch, iswprint(ch) ? "a" : "not a"); } return 0; }
輸出
以下是輸出:
Checking graphical characters: Character 'A' (0x41) is a graphical character Character ' ' (0x20) is a graphical character Character ' ' (0xa) is not a graphical character Character ' ' (0x2028) is not a graphical character
示例 2
讓我們建立另一個 C 程式,並使用iswgraph() 檢查特殊字元在 Unicode 語言環境中是否為圖形字元。
#include <locale.h> #include <stdio.h> #include <wchar.h> #include <wctype.h> int main(void) { // "en_US.utf8" to handle Unicode characters setlocale(LC_ALL, "en_US.utf8"); wchar_t spclChar[] = {L'@', L'#', L'$', L'%'}; size_t num_char = sizeof(spclChar) / sizeof(spclChar[0]); // Check and print if a character is graphical character or not printf("Checking graphical characters:\n"); for (size_t i = 0; i < num_char; ++i) { wchar_t ch = spclChar[i]; printf("Char '%lc' (%#x) is %s graphical char\n", ch, ch, iswprint(ch) ? "a" : "not a"); } return 0; }
輸出
以下是輸出:
Checking graphical characters: Char '@' (0x40) is a graphical char Char '#' (0x23) is a graphical char Char '$' (0x24) is a graphical char Char '%' (0x25) is a graphical char
c_library_wctype_h.htm
廣告