【发布时间】:2011-06-24 04:19:36
【问题描述】:
众所周知,Windows 的 EOL 是 CRLF,Linux 的 EOL 是 Mac 的 CR。 (more_info)
我想编写一个程序,它可以在 Windows 中逐行读取 linux 和 Mac 以及 Win 文件。要打开文件,我会在“rt”模式下使用 fopen,但我不知道如何读取行。 fgets 在 Windows 下一直读取到 CRLF 和 LF,但我希望它也适用于 EOL=CR 文件。
那么解决方法是什么?提前致谢。
【问题讨论】:
-
Linux 使用 LF 而不是 CR。 MacOS9 使用普通 CR。
-
是的,你是对的 PiotrLegnica mc-computing.com/languages/CR_LF.htm 这是整个列表。
-
@Mihran:MacOSX 使用 LF。
-
我不敢相信人们仍然认为 Windows 需要 CRLF。即使是最新版本的记事本也只接受 LF 文件!为什么人们仍然编写发出非标准 CRLF 或 CR 行尾的软件?
-
也许你是对的@André,但我希望我的程序能够处理由不同编辑器和不同操作系统创建和编辑的文件。