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 中的转义字符的主要内容,如果未能解决你的问题,请参考以下文章

iOS:转义网址链接中的特殊字符问题

java中的转义字符的作用是啥?

javascript 怎么把字符串中的特殊符号转义

java 中的空格的转义字符是啥

【转载】mybatis中的转义字符表

oracle怎么将字符串中的转义符