gpt4 book ai didi

c++ - (再次)揭秘换行符

转载 作者:行者123 更新时间:2023-12-03 08:06:57 25 4
gpt4 key购买 nike

We know that Windows 使用 CR + LF 对作为换行符,Unix(包括 Linux 和 OS X)使用单个 LF,而 MacOS 使用单个 CR。

这是否意味着 C 和 C++ 中换行符的解释取决于执行环境,即使 K&R(第 1.5.3 节行计数) 非常明确地说明了以下内容?

so '\n' stands for the value of the newline character, which is 10 in ASCII.

最佳答案

We know that Windows uses a CR + LF pair as its new line,…

您链接到的页面没有说 Windows 使用“CR + LF”作为其换行符。它说 Windows 使用回车符和换行符标记文本文件中的行结束。这并不意味着这些字符是换行符,反之亦然。

Does that mean that the interpretation of a newline…

换行符是换行符。在C中,它的目的是标记一个新行。当使用 ASCII 时,ASCII 的换行符(代码 10)通常用作 C 的换行符('\n')。

如果 C 程序使用二进制流读取 Windows 样式的文本文件,它将看到一个回车符和一个标记行尾的换行符。如果 C 程序使用文本流读取 Windows 风格的文本文件(在支持此功能的环境中),则 Windows 行结束指示(回车符和换行符)将自动转换为 C 换行符字符。

相反,如果 C 程序使用文本流写入 Windows 样式的文本文件,则其写入的换行符将被转换为 Windows 行结束指示。如果使用二进制流写入,则必须自行写入回车符和换行符。

关于c++ - (再次)揭秘换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72005354/

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