发布网友 发布时间: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;
}