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::到底该怎么组合。郁闷我都晕了。 展开
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::到底该怎么组合。郁闷我都晕了。 展开
1个回答
展开全部
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没关系
2. fstream file("user.dat",ios::out|ios::binary)这里用了ios::out,表示这个文件作为输出流,要往这里面写东西的,如果不存在,就会自动建立
后面的问题一样
附:这是标准库的东西,和用不用VC6没关系
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询