atoi()
或strtoll()
的字符串转换函数。我想包含一个接受char16_t*或char32_t*而不仅仅是char*或wchar_t*的版本。我的函数运行正常,但是在编写它时,我意识到我不明白char16_t或char32_t是什么。我知道标准只要求它们是至少16位或32位的整数类型,但暗示它们是UTF-16或UTF-32。
我还知道标准定义了一些函数,但它们没有包括任何*get或*put函数(就像在C99中添加时所做的那样)。
因此,我想知道:他们希望我如何处理char16_t和char32_t?
0..9
(U+0030..U+0039)(以及潜在的A..Z/a..z
,最高级别为36进制)?因为这包括排版形式(上下标;带圈数字高达20!)和特定脚本形式(阿拉伯数字,希伯来数字),以及罗马数字、古希腊和“算盘”等等。 - Jongware