CString 中的转义字符
Posted
技术标签:
【中文标题】CString 中的转义字符【英文标题】:escape characters in a CString 【发布时间】:2009-03-16 18:10:40 【问题描述】:如何将转义字符(如换行符 -- \n)放入 CString?
【问题讨论】:
没有。我想使用 /n 插入换行符 所以你想要一个字符串“Alpha Beta”,其中 Alpha 在一行,Beta 在下一行?这样做有什么好处(你想完成什么)? 【参考方案1】:\n 变成一个盒子(垃圾字符)。它不会插入新行。
这是您在调试器中找到的吗?如果是这样,这没关系。换行符的十六进制值是 0xA 或十进制的 10。由于这是一个不可打印的字符,因此调试器将向您显示。
除此之外,如果您使用记事本查看输出,则可能无法正确显示。尝试 "\r\n" 以使记事本正确拆分。
【讨论】:
我正在将代码添加到 ROOT 项目中,并且遇到了同样的问题。 \r\n 成功了!【参考方案2】:我认为您的问题不是在 CString 中插入换行符,而是在您用来显示字符串的方法中
【讨论】:
【参考方案3】:当我还是一个年轻的程序员时,我在 Windows 上写入 .txt 文件并在记事本中打开它时遇到了同样的问题。换行符显示为这些方块。如果您希望在记事本中出现换行符,请使用“\r”。这不是一个真正的解决方案,但我直觉这是你的问题......
【讨论】:
【参考方案4】:您是指未转义的版本吗?如果是这样,那就逃跑吧
CString("\\n");
【讨论】:
不是这样的。 "\n" - 如果我这样做,它会显示为垃圾字符。【参考方案5】:换行符是单引号中的'\n'。只需将其添加到您的 cstring 中即可。
【讨论】:
\n 变成了一个盒子(垃圾字符)。它不会插入新行。【参考方案6】:CString strMessage = "";
strMessage.Format("Alpha \n Beta");
"\n" 在调试器中显示为框字符,但在 UI 上显示时它会正确显示。
【讨论】:
【参考方案7】:CString cs = "First sentence."+"\015\012"+"Second sentence."
希望对你有帮助。
【讨论】:
以上是关于CString 中的转义字符的主要内容,如果未能解决你的问题,请参考以下文章