C++在当前目录下生成新文件,且新文件不能与当前目录下的文件重名
时间: 2023-11-27 11:03:23 浏览: 67
你可以使用C++标准库中的fstream头文件中的ofstream类来创建新文件,并使用文件系统库中的exists()函数来检查文件是否已存在。以下是一个例子:
```cpp
#include <fstream>
#include <filesystem>
#include <iostream>
using namespace std;
namespace fs = std::filesystem;
int main() {
string filename;
cout << "Enter the filename: ";
cin >> filename;
while (fs::exists(filename)) {
cout << "A file with that name already exists! Please enter a new name: ";
cin >> filename;
}
ofstream file(filename);
if (!file) {
cout << "Failed to create the file!" << endl;
return 1;
}
file << "This is a new file." << endl;
file.close();
cout << "File created successfully!" << endl;
return 0;
}
```
在上面的示例中,用户可以输入文件名,如果该文件名已存在,则程序会要求用户输入另一个文件名。如果文件名不存在,则创建一个新文件并写入一些文本。注意,使用ofstream类创建文件时,如果文件已经存在,则会将其覆盖。
阅读全文