在文档/规范中它描述了如何“ ' 在文本模式下转换为特定于平台的行结尾?

问题描述 投票:0回答:0

根据经验,我知道以下代码:

#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
    return 0;
}

导致在不同的平台上打印不同的行尾(例如 Linux:LF,Windows:CRLF),如果我想要特定的行为,我有时不得不 switch count to binary mode。同样,我知道使用文件流我自己打开我必须小心地为我想要的行结束行为指定文本或二进制模式。

但是我正在努力寻找这种转换行为的位置 到 CRLF 实际上是记录

我查看了 C++ 规范(特别是 C++14)和各种在线参考资料(例如 cppreference.com),但找不到哪个类/库例程负责 *实际将

\n
转换为平台特定行结束`.

或者换句话说:C++ 的文本模式和二进制模式流的行为在哪里指定?

(我假设这是一个隐含地推迟到平台的 C 标准库在这个问题上的行为的情况?)

c++ language-lawyer newline line-endings
© www.soinside.com 2019 - 2024. All rights reserved.