C 库 - iswblank() 函数
C wctype 库中的 iswblank() 函数用于检查给定的宽字符(wint_t 类型)是否属于空白字符。
空白字符是指当前 C 语言环境中,在句子中分隔单词的空格。在默认的 C 语言环境中,只有空格 (0x20) 和水平制表符 (0x09) 属于空白字符。
此函数适用于文本处理程序、用户输入验证、文字处理和文本编辑器工具等。
语法
以下是 iswblank() 函数的 C 库语法 -
int iswblank( wint_t ch );
参数
此函数接受单个参数 -
-
ch - 需要检查的是类型为"wint_t"的宽字符。
返回值
如果宽字符为空白字符,则此函数返回非零值,否则返回零。
示例 1
以下是演示 iswblank() 用法的基本 C 语言示例。
#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main(void) {
// 将语言环境设置为"en_US.utf8"
setlocale(LC_ALL, "en_US.utf8");
wchar_t wchar = L' ';
if(iswblank(wchar)==1){
printf("Character '%lc' (%#x) is blank character", wchar, wchar);
}
else{
printf("Character '%lc' (%#x) is not a blank character", wchar, wchar);
}
return 0;
}
输出
以下是输出 -
Character ' ' (0x9) is blank character
示例 2
让我们创建另一个 C 程序,并使用 isblank() 来验证数组元素是否为空。
#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main(void) {
// 将语言环境设置为"en_US.utf8"
setlocale(LC_ALL, "en_US.utf8");
// 定义一个宽字符数组
wchar_t wchar[] = { L'A', L' ', L' ', L'@' };
size_t len = sizeof(wchar) / sizeof(wchar[0]);
printf("Checking blank characters:");
for (size_t i = 0; i < len; ++i) {
wchar_t ch = wchar[i];
printf("Character '%lc' (%#x) is %s blank character", ch, ch, iswblank(ch) ? "a" : "not a");
}
return 0;
}
输出
以下是输出 -
Checking blank characters: Character 'A' (0x41) is not a blank character Character ' ' (0x20) is a blank character Character ' ' (0x9) is a blank character Character '@' (0x40) is not a blank character
示例 3
以下 C 语言示例使用 iswblank() 函数在遇到空白后中断语句。
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main(void) {
// 宽字符数组
wchar_t wc[] = L"Tutrialspoint India pvt ltd";
// 计算宽字符的长度
size_t len = wcslen(wc);
for (size_t i = 0; i < len; ++i) {
// 检查当前字符是否为空白
if (iswblank(wc[i])) {
// 如果发现空白,则打印换行符
putchar('
');
} else {
// 如果当前字符不是空白,则打印当前字符
putchar(wc[i]);
}
}
return 0;
}
输出
以下是输出 -
Tutrialspoint India pvt ltd

