C 庫 - iswctype() 函式



C 的wctypeiswctype()函式用於檢查給定的寬字元是否具有某些屬性,例如字母、數字、字母數字、可列印字元、圖形字元等。

語法

以下是iswctype()函式的C庫語法:

int iswctype( wint_t wc, wctype_t desc );

引數

此函式接受以下引數:

  • wc − 一個型別為'wint_t'的寬字元,需要進行檢查。

  • desc − 型別為'wint_t'的描述符,指定要檢查wc所屬的字元類別。 透過呼叫 "wctype()" 獲取。

返回值

如果wc(寬字元)具有“desc”指定的屬性,則此函式返回非零值;否則返回零。

示例

以下是一個基本的C程式,用於演示iswctype()的使用。

#include <wchar.h>
#include <wctype.h>
#include <stdio.h>

int main() {
    // Wide character to check
    wchar_t wc = L'A';
    // Descriptor for alphabetic characters
    wctype_t desc = wctype("alpha");

    if (iswctype(wc, desc)) {
        wprintf(L"%lc is an alphabetic character.\n", wc);
    } else {
        wprintf(L"%lc is not an alphabetic character.\n", wc);
    }

    return 0;
}

輸出

以下是輸出:

A is an alphabetic character.

示例 1

讓我們建立另一個C示例,並使用iswctype()來檢查寬字元是否為字母數字字元。

#include <wchar.h>
#include <wctype.h>
#include <stdio.h>

int main() {
    // Wide character string to check
    wchar_t str[] = L"Tutorialspoint 500081";
    // Descriptor for alphanumeric characters
    wctype_t desc = wctype("alnum");

    // Loop through each character in the string
    for (size_t i = 0; str[i] != L'\0'; ++i) {
        // Check if the character is alphanumeric
        if (iswctype(str[i], desc)) {
            wprintf(L"%lc is an alphanumeric character.\n", str[i]);
        } else {
            wprintf(L"%lc is not an alphanumeric character.\n", str[i]);
        }
    }

    return 0;
}

輸出

以下是輸出:

T is an alphanumeric character.
u is an alphanumeric character.
t is an alphanumeric character.
o is an alphanumeric character.
r is an alphanumeric character.
i is an alphanumeric character.
a is an alphanumeric character.
l is an alphanumeric character.
s is an alphanumeric character.
p is an alphanumeric character.
o is an alphanumeric character.
i is an alphanumeric character.
n is an alphanumeric character.
t is an alphanumeric character.
  is not an alphanumeric character.
5 is an alphanumeric character.
0 is an alphanumeric character.
0 is an alphanumeric character.
0 is an alphanumeric character.
8 is an alphanumeric character.
1 is an alphanumeric character.

示例 2

下面的示例檢查寬字元wc是否為標點符號字元並列印。

#include <wchar.h>
#include <wctype.h>
#include <stdio.h>

int main() 
{ 
   wchar_t wc = L'#';
   // checks if the character is a punctuation
   if (iswctype(wc, wctype("punct"))) 
      wprintf(L"%lc is a punctuation\n", wc); 
   else
      wprintf(L"%lc is not a punctuation\n", wc);
   return 0; 
}

輸出

以下是輸出:

# is a punctuation
c_library_wctype_h.htm
廣告
© . All rights reserved.