C++中关于用fstream创建文件的问题

发布网友 发布时间:2024-10-24 05:00

我来回答

2个回答

热心网友 时间:2024-10-25 03:06

你用了ios::in,表示要读入文件,所以程序会认为已有这个文件,而不会去创建。你要是把ios::in去掉就能创建了。
另外你说用.txt文件可以创建,我试过了,不行。

热心网友 时间:2024-10-25 03:02

我之前也出现这问题,具体原因我也不知道。我最后是改成单独的读或写文件来做的。
你可以这样测试下:
#include<iostream>
using namespace std;
#include<fstream>
int main()
{
fstream iofile("info.dat",ios::in|ios::out|ios::binary);
if(iofile.fail())
{
cout<<"打开读和写文件失败"<<endl;
}
else
{
cout<<"打开读和写文件成功"<<endl;
iofile.close();
}

ifstream infile("d:\\info.dat",ios::in|ios::binary);
if(infile.fail())
{
cout<<"打开读文件失败"<<endl;
}
else
{
cout<<"打开读文件成功"<<endl;
infile.close();
}

ofstream outfile("d:\\info.dat",ios::out|ios::binary);
if(outfile.fail())
{
cout<<"打开写文件失败"<<endl;
}
else
{
cout<<"打开写文件成功"<<endl;
outfile.close();
}

ifstream infile2("d:\\info.dat",ios::in|ios::binary);
if(infile2.fail())
{
cout<<"打开读文件失败"<<endl;
}
else
{
cout<<"打开读文件成功"<<endl;
infile2.close();
}

fstream iofile2("info.dat",ios::in|ios::out|ios::binary);
if(iofile2.fail())
{
cout<<"打开读和写文件失败"<<endl;
}
else
{
cout<<"打开读和写文件成功"<<endl;
iofile2.close();
}

cout<<"测试完成"<<endl;
cin.get();
return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com