簡體   English   中英

是<thing> char32_t 的等價物</thing>

[英]is<thing> equivalents for char32_t

<ctype>中為char32_t定義的 char 函數(ispace、isalpha 等)是否有任何等價物?

我環顧四周,只能看到 iswspace(及相關),它們看起來像是用於 16 位字符的。

注意:雖然 isspace 將 int 作為參數,但它似乎會為 Unicode 個字符產生錯誤結果。

例子:

char32_t dagger = U'🗡';
if (isspace(dagger)) {
    puts("That is a space!");
}

請問 output “那是一個空格!”

wchar_t ,您可以將std::isalpha與在<locale>中定義的合適的語言環境一起使用。

對於高於 0xFFFF 的任何內容,您將需要 ICU 庫:

u_isalphau_isUAlphabetic

u_isspaceu_isUWhiteSpace

完整的函數列表: uchar.h

雖然 C++-the-language 具有生成 Unicode 值的功能,但 C++-the-library 幾乎完全聽不到 Unicode。 <ctype.h><cctype>不知道如何處理 Unicode 值; 它們的功能基於C 語言環境機制 您的實現可能提供知道 Unicode 是什么的語言環境,但默認的"C"語言環境不是其中之一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM