ios::noreplace是文件存在时,不打开文件。
你已经有了“分数统计.txt"这个文件的话,打开失败。
outfile是ofstream类型的对象,不是bool类型的值,不能通过 if(!outfile)来判断文件是否成功打开,
应该使用outfile.bad()来判断操作是否成功,如:
#include
#include
#include
using namespace std;
void main(void)
{
ofstream outfile("分数统计.txt",ios::out /*| ios::noreplace*/);
if (!outfile.bad())
{
outfile << "文件打开成功并将此字符串写入文件" << endl;
outfile.close();
}
else
{
cout<<"不能打开文件";return;
}
}
ifstream是输出文件,ofstream是读入文件,你代码里面的是输出的,一般是可以的,不过ios::noreplace不知道你是什么来的,fstream里面没这个定义。代码写成这样是可以的
#include
#include
using namespace std;
void main(void)
{
ofstream outfile("分数统计.txt",ios::out);
if(!outfile)
{
cout<<"不能打开文件";
return;
}
}
#include
#include
#include
using namespace std;
int main(void)
{
ofstream outfile("分数统计.txt",ios::out | ios::app);
if(!outfile){cout<<"不能打开文件";return 1;}
return 0;
}
noreplace没有,用app不会清除原有数据