如何解决此文件相关问题

时间:2009-12-09 10:08:32

标签: c

我正逐行阅读文件,但是当我读到一些像空格/ r这样的垃圾字符时,正在添加为什么它被添加虽然文件中没有这样的字符,但是我正在阅读..i使用了fread如果你有解决这个问题的解决方案,那么两者都会得到同样的问题

2 个答案:

答案 0 :(得分:1)

该文件可能是在Windows上编辑/创建的。 Windows使用\r\n作为行分隔符。阅读文件时,必须手动剥离\r。由于大多数编辑将\r\n视为单个字符(行尾),因此您无法“看到”它,但它仍然在文件中。如果要查看它,请使用十六进制编辑器或od等工具。

答案 1 :(得分:0)

以文本模式打开文件。

/* ... */
fopen(filename, "r"); /* notice no 'b' in mode */
/* ... */

假设您正在使用Windows ...在读取操作时,库负责将磁盘上的文字“\ r \ n”转换为“\ n”;在写入操作时,库将“\ n”翻译为“\ r \ n”。