下面是我编的程序中的一段:
ofstream outfile("DATAFILE.TXT",ios::out|ios::trunc);
if(!outfile)
{
cout<<"没有找到文件,存入文件失败."<<endl;
exit(1);
}
ofstream的默认打开方式是out,凡是初始化参数中带有app,trunc,或者是ofstream对象,如果文件不存在,程序会自动创建。所以如果你想要判断文件是否存在,就只可以用ifstream(默认in)或者fstream(默认in | out)。
string FileName;
cin >> FileName;
fstream* pfs = new fstream(FileName.c_str());
while(*pfs)
{
cout << "File already exist! Try again: ";
cin >> FileName;
pfs->open(FileName.c_str());
pfs->close();
}
pfs->clear();
pfs->open(FileName.c_str(), ios_base::in | ios_base::out | ios_base::trunc);
*pfs << "No one objects if you are doing a good programming job for";
*pfs << " someone who you respect." << endl;
// ......
// other possible implementation
// ......
pfs->seekp(ios_base::beg);
cout << pfs->rdbuf();
// ......
delete pfs;
string FileName;
cin >> FileName;
fstream* pfs = new fstream(FileName.c_str());
while(*pfs)
{
cout << "File already exist! Try again: ";
cin >> FileName;
pfs->open(FileName.c_str());
pfs->close();
}
pfs->clear();
pfs->open(FileName.c_str(), ios_base::in | ios_base::out | ios_base::trunc);
*pfs << "No one objects if you are doing a good programming job for";
*pfs << " someone who you respect." << endl;
// ......
// other possible implementation
// ......
pfs->seekp(ios_base::beg);
cout << pfs->rdbuf();
// ......
delete pfs;
温馨提示:答案为网友推荐,仅供参考