C 庫 - iswblank() 函式



C 的wctypeiswblank() 函式用於檢查給定的寬字元(型別為 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) {
   // Set the locale to "en_US.utf8"
   setlocale(LC_ALL, "en_US.utf8");
   
   wchar_t wchar =  L'\t';   
   if(iswblank(wchar)==1){
       printf("Character '%lc' (%#x) is blank character\n", wchar, wchar);
   }
   else{
       printf("Character '%lc' (%#x) is not a blank character\n", wchar, wchar);
   }

   return 0;
}

輸出

以下是輸出 -

Character '	' (0x9) is blank character

示例 2

讓我們建立另一個 c 程式,並使用 iswblank() 來驗證陣列的元素是否為空白。

#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");

   // Define an array of wide characters
   wchar_t wchar[] = { L'A', L' ', L'\t', L'@' };
   size_t len = sizeof(wchar) / sizeof(wchar[0]);
   
   printf("Checking blank characters:\n");
   for (size_t i = 0; i < len; ++i) {
      wchar_t ch = wchar[i];
      printf("Character '%lc' (%#x) is %s blank character\n", 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) {
   // wide char array
   wchar_t wc[] = L"Tutrialspoint India pvt ltd";
   // find the length of wide char
   size_t len = wcslen(wc);

   for (size_t i = 0; i < len; ++i) {
      // Check if the current character is blank
      if (iswblank(wc[i])) {
         // Print a newline character if blanck is found
         putchar('\n');
      } else {
         // Print the current character if it's not blank
         putchar(wc[i]);
      }
   }
   return 0;
}

輸出

以下是輸出 -

Tutrialspoint
India
pvt
ltd
c_library_wctype_h.htm
廣告