请问C++的创建文件时,假如文件存在,怎么判断,怎么更改存放的文件名?

下面是我编的程序中的一段:
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;
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网