c ++ std :: cout不会在字符串中打印\ n

时间:2016-02-02 17:26:36

标签: c++ printing cout

在我的currrent项目中,我将错误从文本文件加载到字符串数组中。但是当我打印它们时,#34; \ n"印刷为" \ n"而不是新线。有没有办法来解决这个问题?或者是修复它的唯一方法是在每个" \ n"并插入<< std :: endl<

1 个答案:

答案 0 :(得分:2)

  

我将文本文件中的错误加载到字符串数组中。

我假设你的文本文件中有这些'\ n'。因此,当它们被读入时,它们将作为两个字符存储在字符串中,'\'和'n'。如果在代码中将这些字符串作为文字字符串,则编译器会将'\ n'转换为换行符,并且您的字符串中将包含一个“换行符”字符。

所以你必须自己完成这项工作。我建议您在阅读文本文件时执行此操作,而不是在执行输出时执行此操作。寻找反斜杠,检查下一个字符是否是你要转换的字符之一(如'n'),然后存储反斜杠+字符,存储新行(或其他)。

我确信还有一些库可以为你做这个,作为输入,输出或操作字符串的一部分。