<ctype>
中为char32_t
定义的char函数(ispace,isalpha等)是否有任何等效项?
我环顾四周,只能看到iswspace(&相关),看起来像是16位字符。
注意:虽然isspace接受一个int作为参数,但它似乎为Unicode字符产生了错误的结果。
例:
char32_t dagger = U'🗡';
if (isspace(dagger)) {
puts("That is a space!");
}
将输出“那是一个空格!”
最佳答案
直到wchar_t
,您都可以将std::isalpha与<locale>
中定义的适当语言环境一起使用。
对于0xFFFF以上的任何内容,您将需要ICU库:
u_isalpha或u_isUAlphabetic
u_isspace或u_isUWhiteSpace
功能完整列表:uchar.h
关于c++ - 是char32_t的等价物,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60353945/