使用C#和C ++访问代码中的文件。当在记事本中打开文件时,它看起来像这样(左边一个整数,其余数字是双):
但是使用写字板打开时相同的文件看起来像这样(每个双边旁边有一个整数):
为什么它们看起来不同?
答案 0 :(得分:3)
它与文件中换行符的编码方式有关。 Windows将换行符识别为由两个字符(\r\n
)组成,而其他一些操作系统(即基于Unix的操作系统)仅使用\n
或\r
。写字板很聪明,可以识别两种换行符类型,但记事本不是。
答案 1 :(得分:1)
因为记事本和写字板使用不同的方式来读出文件,显然这个文件的编写方式都是以不同的方式读取...
答案 2 :(得分:1)
因为Notepad和WorkPad理解\ r \ n不同
答案 3 :(得分:1)
记事本和写字板对待“新行”的方式不同 - 一个只接受\n
,另一个需要\r\n
来识别“新行”(有些人可以使用\n\r
)。< / p>
许多其他编辑也是如此。即如果你试图在Visual Studio中打开文件,可能会问“你想将Unix新行转换为Windows新行”。
如果您使用C#编写文件,请使用WriteLine
,而不是手动添加\n
或至少使用Envirnment.NewLine来编写“新行”以进行流式传输。
类似地,在C ++中,如果必须在记事本或其他需要这样序列的编辑器中打开文件,则可以编写“\ r \ n”而不是“\ n”(大多数编辑器/查看器都可以使用)。