0

我正在编写一个 C++ 程序来解决消息解码的常见问题。部分问题需要我获取一堆随机字符,包括“\”,并将它们一个一个映射到一个键。

我的程序在大多数情况下都可以正常工作,除了当我从字符串中读取诸如 '\' 之类的字符时,我显然会得到完全不同的字符表示(例如,'\0' 产生一个空字符,或者 '\' 在它需要被视为一个字符)。

由于我不应该对包含哪些字符键进行任何控制,因此我一直在拼命地尝试找到一种方法来将特殊控制字符(例如反斜杠)视为字符本身。

我的问题基本上是这些:

  • 有没有办法在我的程序范围内关闭所有特殊字符?

  • 有没有办法覆盖特殊字符的当前二合字母定义并将它们定义为其他东西(例如使用非常稀有键的二合字母)?

  • String 类上是否有一些我错过的模糊方法可以强制读取字符串上的实际字符而不是预定义的常量?

几个小时以来,我一直在尝试寻找解决方案,但我发现的所有可能的修复程序都适用于其他语言。

非常感谢任何帮助。

4

1 回答 1

2

如果您"\0"从标准输入或文件中读取字符串,它将被视为两个单独的字符:'\\''0'. 您无需进行额外的处理。

转义字符仅用于字符串/字符文字。也就是说,当您想将某些内容硬编码到源代码中时。

于 2012-06-01T22:18:41.280 回答