- 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 库 - iswprint() 函数
C 的wctype库iswprint()函数用于检查给定的宽字符(类型为wint_t)是否可以打印。
可打印字符包括数字 (0123456789)、大写字母 (ABCDEFGHIJKLMNOPQRSTUVWXYZ)、小写字母 (abcdefghijklmnopqrstuvwxyz)、标点符号 (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)、空格或当前 C 语言区域设置中特有的任何可打印字符。
此函数包括所有图形字符和空格字符。
语法
以下是iswprint()函数的C库语法:
int iswprint( wint_t ch );
参数
此函数接受单个参数:
-
ch − 一个待检查的类型为'wint_t'的宽字符。
返回值
如果宽字符可打印,则此函数返回非零值;否则返回零。
示例 1
以下是一个基本的 C 程序,用于演示 iswprint() 的用法。
#include <locale.h> #include <stdio.h> #include <wchar.h> #include <wctype.h> int main(void) { // Set the locale to "en_US.utf8" setlocale(LC_ALL, "en_US.utf8"); wchar_t space = L' '; // Check if the character is printable int res = iswprint(space); if (res) { printf("The character ' ' is a printable character.\n"); } else { printf("The character ' ' is not a printable character.\n"); } return 0; }
输出
以下是输出:
The character ' ' is a printable character.
示例 2
让我们创建另一个 C 示例,并使用 iswprint() 来识别宽字符集中的可打印字符。
#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 // printable and non-printable characters 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 printable character or not printf("Checking printable characters:\n"); for (size_t i = 0; i < num_char; ++i) { wchar_t ch = character[i]; printf("Character '%lc' (%#x) is %s printable char\n", ch, ch, iswprint(ch) ? "a" : "not a"); } return 0; }
输出
以下是输出:
Checking printable characters: Character 'A' (0x41) is a printable char Character ' ' (0x20) is a printable char Character ' ' (0xa) is not a printable char Character ' ' (0x2028) is not a printable char
示例 3
下面的 C 示例使用 iswprint() 来检查特殊字符在 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 printable character or not printf("Checking printable characters:\n"); for (size_t i = 0; i < num_char; ++i) { wchar_t ch = spclChar[i]; printf("Char '%lc' (%#x) is %s printable char\n", ch, ch, iswprint(ch) ? "a" : "not a"); } return 0; }
输出
以下是输出:
Checking printable characters: Char '@' (0x40) is a printable char Char '#' (0x23) is a printable char Char '$' (0x24) is a printable char Char '%' (0x25) is a printable char
c_library_wctype_h.htm
广告