gpt4 book ai didi

c++ - C++ 中 std::fstream::X 和 std::ios::X 的区别

转载 作者:太空狗 更新时间:2023-10-29 21:38:37 24 4
gpt4 key购买 nike

我是 C++ 新手。我有一个简单的问题想问您,std::fstream::X 和 std::ios::X 在 C++ 中打开文件模式有什么区别?

x 可以是 in, out, ate, trunk, ate 吗?

这里是更多的例子:

fs.open(filename.c_str(), std::fstream::in | std::fstream::out | std::fstream::app);

对比

fs.open(filename.c_str(), std::ios::in | std::ios::out | std::ios::app);

这两个有什么区别?

本人初学C++,请勿复杂回答。

最佳答案

引用 Input/Output in File

class: default mode parameter

ofstream: ios::out

ifstream: ios::in

fstream: ios::in | ios::out

For ifstream and ofstream classes, ios::in and ios::out are automatically and respectively assumed, even if a mode that does not include them is passed as second argument to the open() member function.

std::fstream 继承自 std::ios,根据此 page

从文件中读取时,我更喜欢使用 std::ifstream::in 标志,因为让编程接口(interface)知道您将要使用它是一个很好的编程习惯为。

关于c++ - C++ 中 std::fstream::X 和 std::ios::X 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34723247/

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