【发布时间】:2016-04-08 23:11:24
【问题描述】:
我正在阅读一个 ASCII 文本文件。它由每个字段的大小(以字节为单位)定义。例如。每行包含 10 个字节用于某个字符串,8 个字节用于浮点值,5 个字节用于整数等等。
我的问题是读取换行符,它的大小取决于操作系统(我相信 Windows 通常为 2 个字节,Linux 为 1 个字节)。
如何在 C++ 中获取 EOL 字符的大小?
例如,在python中我可以这样做:
len(os.linesep)
【问题讨论】:
-
如果您以文本模式打开文件,则换行符应始终为
'\n',无论本机行结尾是什么。你真的需要知道原生 EOL 字符串的大小吗? -
文件是否保证保存在与您的代码运行所在的操作系统相同的操作系统下?如果是,只需以文本(非二进制)模式打开文件。