名稱空間
變體
操作

std::iswprint

來自 cppreference.com
< cpp‎ | string‎ | wide
定義於標頭檔案 <cwctype>
int iswprint( std::wint_t ch );

檢查給定的寬字元是否可列印,即它是一個數字(0123456789)、一個大寫字母(ABCDEFGHIJKLMNOPQRSTUVWXYZ)、一個小寫字母(abcdefghijklmnopqrstuvwxyz)、一個標點符號(!"#$%&'()*+,-./:;<=>?@[\]^_`{!}~)、空格或當前 C 語言環境中任何可列印的字元。

如果 ch 的值既不能表示為 wchar_t,也不等於宏 WEOF 的值,則行為未定義。

目錄

[編輯] 引數

ch - 寬字元

[編輯] 返回值

如果寬字元可列印,則返回非零值;否則返回零。

[編輯] 注意

ISO 30112 指定了哪些 Unicode 字元包含在 POSIX print 類別中。

[編輯] 示例

#include <clocale>
#include <cwctype>
#include <iostream>
 
void demo_iswprint(std::string_view rem, const std::wint_t c)
{
    std::cout << std::boolalpha << std::hex << std::showbase
              << rem << "iswprint('" << c << "') = "
              << !!std::iswprint(c) << '\n';
}
 
int main()
{
    const wchar_t c1 = L'\u2002'; // en-space
    const wchar_t c2 = L'\u0082'; // break permitted
 
    demo_iswprint("In default locale:\n", c1);
 
    std::setlocale(LC_ALL, "en_US.utf8");
    demo_iswprint("In Unicode locale:\n", c1);
    demo_iswprint("", c2);
}

可能的輸出

In default locale:
iswprint('0x2002') = false
In Unicode locale:
iswprint('0x2002') = true
iswprint('0x82') = false

[編輯] 參閱

檢查字元是否被區域設定分類為可列印字元
(函式模板) [編輯]
檢查字元是否為可列印字元
(函式) [編輯]
C 文件 for iswprint
ASCII 值 字元

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

十進位制 十六進位制 八進位制
0–8 \x0\x8 \0\10 控制碼(NUL等) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 製表符(\t ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA\xD \12\15 空白符(\n\v\f\r ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE\x1F \16\37 控制碼 ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 空格 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33–47 \x21\x2F \41\57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30\x39 \60\71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A\x40 \72\100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41\x46 \101\106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47\x5A \107\132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B\x60 \133\140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61\x66 \141\146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67\x7A \147\172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B\x7E \172\176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 退格字元(DEL ≠0 0 0 0 0 0 0 0 0 0 0 0