【发布时间】:2017-10-25 10:47:14
【问题描述】:
我今天看到了一段有趣的代码:
ifstream fil;
fil.open( "ini.txt", std::ios::in | std::ios::out );
我正要吐槽它的破损,但令我惊讶的是,我看到 cppreference.com 显然认为这是正确的:
http://en.cppreference.com/w/cpp/io/basic_ifstream/open
mode - 指定流打开模式。为位掩码类型,定义如下常量:
- 在:开放阅读
- 出:开放写作
ifstream,据我所知是一个 INPUT 文件流,如何同时打开以进行读取和写入?
不应该是fstream而不是ifstream吗?
【问题讨论】:
-
为此您需要
std::fstream。 -
@user0042 很好;那么为什么 cppreference 在 IFSTREAM::open 下同时列出
std::ios::in和std::ios::out呢?? -
您期望什么?例外?
-
@Joe - 你没有“撤消”任何东西。反对票仍然有效。这是某人对这个问题的有效意见。您的意见不同,但不会影响其他人的意见。
-
如果一棵树倒在森林里,没有人听见,它真的倒了吗?或者换句话说:如果你打开一个
istream写,但它没有写API,你真的可以写吗?