| |
请问C++的创建文件时,假如文件存在,怎么判断,怎么更改存放的文件名?
|
|
作者: yourfei
01-01 08:00
回复
|
|
下面是我编的程序中的一段:
ofstream outfile("DATAFILE.TXT",ios::out|ios::trunc);
if(!outfile)
{
cout<<"没有找到文件,存入文件失败."<<endl;
exit(1);
} |
|
| |
回复:请问C++的创建文件时,假如文件存在,怎么判断,怎么更改存放的文件名?
|
|
作者: Neptumond
01-01 08:00
回复
|
|
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; |
|
|