显示字符c ++名称的标准解决方案?

时间:2012-11-06 14:31:10

标签: c++ char

是否有用于友好地表示非孤立输入字符的标准功能?
说char(27)将是“ESC”或“Escape”或类似的东西 我问这个,因为这对我来说是一个简单的方法,可以在命令行中显示控件的帮助。

编辑:

正如@ypnos指出:问题是如何避免定义我自己的密钥名称。
我想知道是否有一个函数在boost或std或者我错过了一些基本库?

目前,Ascii-only可以为我工作,但我正在寻找一个“标准”解决方案,因为我不想重新实现一旦处理Unicode输入 - 比如说字符的重音不在Ascii中 - 稍后。

我的程序代码将被发送到Linux和Windows,我也不希望名称在地方出错。

1 个答案:

答案 0 :(得分:2)

大多数C ++ - y方式可能通过Ogonek这样的库。不幸的是,相关功能目前尚未实施。

R上。 Martinho Fernandes(维护者)tells me应该如下所示:

namespace ogonek {
    namespace ucd {
        …

        basic_text<utf8> get_name(codepoint u) {
            return basic_text<utf8> {
                find_property_group(name_data, name_data_size, u).name };
        }

        …
    }
}

然后您可以使用

简单地显示Unicode代码点(例如27)
std::cout << ogonek::ucd::get_name(27);