C++文件输入与输出 - ifstream/ofstream类与输入输出方式设置值ios::in / ios::out

在学习C++文件输入与输出的过程中,了解到头文件中包含三个文件输入输出类——ifstream/ofstream/fstream,分别由相应的iostream中的类派生而来。又知道在创建各类对象时,有输入输出方式设置值可供精细地控制文件的输入与输出。而我们知道,所谓ifstream类的作用是文件输入,即将文件中的数据输入到内存中;ofstream类的作用是文件输出,即将内存中的数据输出到文件中;fstream两者皆可,不需要甄别。但是在这里有一个疑惑,那就是每个类都可以使用的设置值ios::in / ios::out两者同样是文件输入/输出的含义,那么给ifsream类使用ios::out,或ofstream ios::in,这样的表达有意义吗?
通过查阅各种资料,终于在C++ Primer 5th Edition中找到了答案。
C++文件输入与输出 - ifstream/ofstream类与输入输出方式设置值ios::in / ios::out_第1张图片
由此我们终于明确了以上行为( 如ofstream outfile(“xx.dat”,ios::in); )虽然合法,编译器不会报错,但却毫无意义。

附:C++ Primer 5th Edition 中文版高清文档下载

你可能感兴趣的:(C++文件输入与输出 - ifstream/ofstream类与输入输出方式设置值ios::in / ios::out)