这个问题是关于 C、C++ 和 Java 中的 '\n' 的。对于每种语言,'\n' 字符平台相关(在 unix 上为 LF 在 windows 上为 CRLF)或者它只是 LF 而不管平台如何
最佳答案
在 C 和 C++ 中,\n
是要在应用程序内部的字符串中使用的 换行符。当以文本模式(即非二进制模式)打开时,IO 流将转换为特定于平台的换行序列。
请注意,这适用于标准库,但可能不适用于特定的 API - 例如我记得某些 Windows 控件需要明确的 CRLF 才能正常工作。
至于 Java,我可能是错的(我几乎从未使用过 Java),但从文档中我可以看出,流不执行任何转换;相反,您可以使用 System.lineSeparator()
获取当前平台的行分隔符。使用此信息,BufferedWriter
提供了一个方便的 newLine
方法来将换行符输出到基础流。
关于java - C/C++ 和 Java 中的字符\n 是否被认为是 LF 或平台相关的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12804047/