gpt4 book ai didi

c++ - Windows C++写入文件时,是什么负责将\n转换为\r\n?

转载 作者:行者123 更新时间:2023-12-01 14:53:19 24 4
gpt4 key购买 nike

写入文件时,带有\n的字符串会自动转换为\r\n

什么是这种行为的原因?这是cpp功能的一部分,还是更接近系统的东西?

最佳答案

是您的编译器。

当您使用特定于OS的输出(例如文件或标准输出)时,编译器必须将行尾转义序列(\n)转换为特定于OS的行尾-在Unix上,它将是换行符(ASCII 0x0A) ),在较旧的Mac电脑上,它是回车符(ASCII 0x0D),在Windows上,两者都是。

您可以通过以二进制模式打开文件来避免这种情况:

std::fstream("myFile.txt", std::ios_base::binary);

关于c++ - Windows C++写入文件时,是什么负责将\n转换为\r\n?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60754606/

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