有关ios::app的一点问题
今天编写程序的时候发现,如果定义了一个fstream的的对象,那么以下声明语句是可以通过编译器的,
fstream myFile("test.dat",ios::in | ios::app);
并且这样可以在test.dat不存在时创建一个文件,即文件不存在时myFile.is_open()也非0。
但是我用以下声明语句,
fstream myFile("test.dat",ios::in | ios::out);
则在test.dat不存在时不会创建文件,myFile.is_open()为0。
请问这是为什么呢?会不会是编译器的问题?
恳求各位大牛给以解答。
in
[解决办法]
out 相当于r+,不会创建文件。 没有看见in
[解决办法]
app组合, 估计是实现相关。 截图来自c++ 2003标准
[解决办法]
读写关系么?