gpt4 book ai didi

C++ 获取 EOL 的大小(以字节为单位)

转载 作者:可可西里 更新时间:2023-11-01 17:59:15 25 4
gpt4 key购买 nike

我正在读取一个 ASCII 文本文件。它由每个字段的大小(以字节为单位)定义。例如。每行包含 10 个字节的字符串、8 个浮点值字节、5 个整数字节等等。

我的问题是读取换行符,它的大小取决于操作系统(我相信通常 windows 为 2 个字节,linux 为 1 个字节)。

如何在 C++ 中获取 EOL 字符的大小?

例如,在 python 中我可以这样做:

len(os.linesep)

最佳答案

历史悠久的方法是阅读一行。

现在,最后一个字符应该是 \n。剥离它。然后,看看前面的字符。它将是 \r 或其他内容。如果是\r,去掉它。

对于 Windows [ascii] 文本文件,没有任何其他可能性。

即使文件是混合的(例如,有些行是 \r\n 而有些只是 \n),这仍然有效。

您可以尝试在几行中执行此操作,以确保您没有处理奇怪的事情。

在那之后,您现在知道了文件的大部分内容。但是, strip 法是一般可靠的方法。在 Windows 上,您可以从 Unix 导入文件(反之亦然)。

关于C++ 获取 EOL 的大小(以字节为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34606407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com