c++中,fstream类的对象打开文件为什么会失败呢?

#include<iostream>#include<fstream>#include<iomanip>usingnamespacestd;constchar*file=... #include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

const char * file="d:people.txt";

int main()
{

ofstream fout(file, ios::binary);
fout<<"hello world\n";
fout.close();//
fstream InOut;//
InOut.open(file, ios::binary);/*就是这里,开启二进制标志后,下面的文件就无法打开,问什么呢?如果还是用fout对象打开的话就会打开成功*/
//InOut.open(file, ios::app|binary);在加一个打开方式后,这样是打开成功的
if (InOut.is_open())//
cout<<"ok\n";
else
cout<<"xxxxxxx\n";

return 0;
}
为什么fstream类对象调用open函数开启二进制标志打开文件时不成功呢?
为什么open(file, ios::app|ios::binary);函数里面在加一个打开方式,文件就是打开成功呢?
如果文件里面的内容是结构变量里的数据,即使在open函数里在加一个打开方式,文件也是打开不成功呢?
展开
 我来答
叫啥才行你说
推荐于2018-05-15 · 超过24用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:24.5万
展开全部
C++库函数中用流fstream打开文件默认方式是IOS::in,IOS::out,你用ios::binary打开方式后,你要定义写入方式,应为你已经默认能写了。加入ios::trunc或ios::app都行。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式