gpt4 book ai didi

c++ - `ios_base::app` 是否保证 `ios_base::out` 被隐式指定?

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

答:

std::ofstream("test.txt", std::ios_base::app);

乙:

std::ofstream("test.txt", std::ios_base::app|std::ios_base::out);

C++ 标准是否保证 A 与 B 相同?

最佳答案

是的,根据 [ofstream.cons]

explicit basic_ofstream(const char* s,
ios_base::openmode mode = ios_base::out);

Effects: Constructs an object of class basic_ofstream, initializing the base class with basic_ostream(&sb) and initializing sb with basic_filebuf<charT,traits>()), then calls rdbuf()->open(s, mode|ios_base::out). If that function returns a null pointer, calls setstate(failbit).

请注意,它不是 app有此保证但调用底层 streambuf 本身;您传递给构造函数的任何标志/open总是用 out 排序(对于 in 也是 ifstream )。

关于c++ - `ios_base::app` 是否保证 `ios_base::out` 被隐式指定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24501731/

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