【问题标题】:C\C++: Initialize ASCII special char?C\C++:初始化 ASCII 特殊字符?
【发布时间】:2012-08-14 09:16:48
【问题描述】:

如何初始化特殊的 ASCII 字符,例如 EOT (0x04)、ENQ(0x05)?

char CHAR1 = '\EOT';
char CHAR2 = '\ENQ';

这对吗?

【问题讨论】:

    标签: c++ c char ascii


    【解决方案1】:

    您可以将字符代码放入变量中:

    char CHAR1 = 4;
    char CHAR2 = 5;
    

    您还可以使用here 的转义序列。

    【讨论】:

      【解决方案2】:

      十六进制或八进制不支持它们的名称。 '\x04' 例如。

      【讨论】:

      • 但您可以自己添加名称:namespace ascii { static const char EOT(0x04); static const char ENQ(0x05); }
      【解决方案3】:

      您可以简单地将 char 分配给它的十六进制值:

      char CHAR1 = 0x04;
      

      这是正确的吗? - 不,你初始化它的方式是不正确的,因为编译器期望在 '\' 之后有一个转义字符

      【讨论】:

        猜你喜欢
        • 2011-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多