在输出到文件时获得正方形而不是新行

时间:2011-02-15 15:57:35

标签: c++ file-io fstream

我正在尝试将输出转换为文本文件。总是当我在endl或“\ n”中添加它时,它不会启动一个新行,而是在文件中放置一个正方形。

我在Dev-C ++和Qt中都做过,但结果总是一样。你知道问题出在哪里吗?

感谢您的回答。

3 个答案:

答案 0 :(得分:1)

如果要在Windows中显示新行,请使用"\r\n"代替"\n"

(详情请见http://en.wikipedia.org/wiki/Newline#Representations

答案 1 :(得分:1)

如果您以文本模式打开文件[即如果你使用ofstream,不要添加ios :: bin],程序应该写出正确的换行符。记事本可能试图以错误的格式阅读它。尝试使用wordpad并确认字符是否正确。

答案 2 :(得分:0)

您使用哪个文本编辑器来查看文件?通常当你看到一个“正方形”时它的解码错误,并且文本编辑器没有正确读取输出;

如果您使用的是Windows,请尝试使用记事本和写字板打开同一文件,查看两个选项中是否仍然存在“方块”。如果显示正确的输出 - 这意味着另一个编辑器根本无法解码文本!