C++ fstream文件流有2个问题,很奇怪

问题1:fstreamfile("user.dat",ios::in|ios::out|ios::binary)结果当该文件不存在时,不会自动建立.(应该是会自动建立的吧... 问题1:
fstream file("user.dat",ios::in|ios::out|ios::binary)
结果当该文件不存在时,不会自动建立.(应该是会自动建立的吧)
fstream file("user.dat",ios::out|ios::binary)
结果又会自动建立文件了,这是个啥问题
问题2:
fstream outfile; outfile.open("user.dat",ios::binary|ios::app); //以追加的方式打开用户资料文件
结果新用户的资料用write写不进文件,确定程序其他语句没问题,问题就出在这里
但是将第一句改成ofstream oufile,或第二句加上个|ios::out,新用户的资料又能写进了.ios::app作用是追加应该不用组合了ios::out了啊

想了想这些问题貌似都是ios::组合的问题,我用的是VC6.0,现在十分想搞清楚这种环境下对fstream的流对象的ios::到底该怎么组合。郁闷我都晕了。
展开
 我来答
傲世修罗王
2010-01-26 · TA获得超过1085个赞
知道小有建树答主
回答量:1034
采纳率:0%
帮助的人:740万
展开全部
1. fstream file("user.dat",ios::in|ios::out|ios::binary)这句,当文件不存在是当然不会建立,因为你用了ios::in表示这是输入文件,人家只负责从文件读内容,如果文件不存在,也不会替你创建。
2. fstream file("user.dat",ios::out|ios::binary)这里用了ios::out,表示这个文件作为输出流,要往这里面写东西的,如果不存在,就会自动建立
后面的问题一样

附:这是标准库的东西,和用不用VC6没关系
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式