gpt4 book ai didi

c++ - 找到系统的行终止符

转载 作者:太空狗 更新时间:2023-10-29 20:15:02 24 4
gpt4 key购买 nike

是否有一个头文件在某处存储系统的行终止符(因此没有任何#ifdef它可以在所有平台上工作,MAC,Windows,Linux等) ?

最佳答案

您应该以“文本模式”(即“不使用二进制”)打开文件,换行符始终是 '\n',无论 native 文件是什么。 C 库将在适当的时候将表示换行符的任何 native 字符转换为 '\n' [即,读取/写入文本文件]。请注意,这也意味着您不能依赖“计算读取的字符数并使用它来”返回此位置”。

如果文件是二进制文件,那么换行符无论如何都不是换行符。

除非你计划在非常古老的系统上运行,并且你真的想这样做,否则我会这样做:

#ifdef __WINDOWS__    // Or something like that
#define END_LINE "\r\n"
#else
#define END_LINE "\n"
#endif

这对 MacOS X 之前的 MacOS 不起作用,但肯定没有人再使用 MacOS X 之前的硬件了吗?

关于c++ - 找到系统的行终止符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14586154/

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