
- 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 庫 - iswpunct() 函式
C 的wctype庫 iswpunct() 函式用於檢查給定的寬字元(型別為 wint_t)是否為標點符號字元。
標點符號字元是指那些不是字母數字字元且不是空白字元的字元。它包括 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 中的任何一個字元,或當前區域設定特有的任何標點符號字元。
語法
以下是 iswpunct() 函式的 C 庫語法 -
int iswpunct( wint_t ch );
引數
此函式接受一個引數 -
-
ch - 它是要檢查的型別為 'wint_t' 的寬字元。
返回值
如果寬字元是標點符號字元,則此函式返回非零值,否則返回零。
示例 1
以下是用 iswpunct() 的基本 C 程式示例。
#include <wctype.h> #include <wchar.h> #include <stdio.h> int main() { wchar_t wc = L'!'; if (iswpunct(wc)) { wprintf(L"'%lc' is a punctuation character.\n", wc); } else { wprintf(L"'%lc' is not a punctuation character.\n", wc); } return 0; }
輸出
以下是輸出 -
'!' is a punctuation character.
示例 2
讓我們建立另一個 C 示例,並使用 iswpunct() 來識別陣列中的每個字元是否為標點符號字元。
#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 wchar_t wc[] = {L'!', L'"', L'A', L';'}; size_t size = sizeof(wc) / sizeof(wc[0]); // Check and print if a character is punctuation character or not for (size_t i = 0; i < size; ++i) { wchar_t ch = wc[i]; printf("Character '%lc' (%#x) is %s punctuation char\n", ch, ch, iswpunct(ch) ? "a" : "not a"); } return 0; }
輸出
以下是輸出 -
Character '!' (0x21) is a punctuation char Character '"' (0x22) is a punctuation char Character 'A' (0x41) is not a punctuation char Character ';' (0x3b) is a punctuation char
示例 3
此示例檢查預設區域設定中的標點符號字元。
#include <locale.h> #include <stdio.h> #include <wchar.h> #include <wctype.h> int main(void) { // defualt locale setlocale(LC_ALL, ""); // Array of wide characters wchar_t wc[] = {L'!', L'"', L'A', L';', L'*'}; size_t size = sizeof(wc) / sizeof(wc[0]); // Check and print if a character is punctuation character or not printf("Checking punctuation characters:\n"); for (size_t i = 0; i < size; ++i) { wchar_t ch = wc[i]; printf("Character '%lc' (%#x) is %s punctuation char\n", ch, ch, iswpunct(ch) ? "a" : "not a"); } return 0; }
輸出
以下是輸出 -
Checking punctuation characters: Character '!' (0x21) is a punctuation char Character '"' (0x22) is a punctuation char Character 'A' (0x41) is not a punctuation char Character ';' (0x3b) is a punctuation char Character '*' (0x2a) is a punctuation char
c_library_wctype_h.htm
廣告