C++在一个文件夹下生成同名文件不覆盖,新生成的文件的文件名自动加1
时间: 2024-02-20 19:01:52 浏览: 84
好,您的问题是如何在C++中实现在一个文件夹下生成同名文件不覆盖,新生成的文件的文件名自动加1。
您可以使用以下代码实现:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string filename = "file.txt";
int count = 0;
while (true) {
ifstream file(filename);
if (!file.good()) {
break;
}
file.close();
count++;
filename = "file" + to_string(count) + ".txt";
}
ofstream newFile(filename);
newFile << "Hello, world!" << endl;
newFile.close();
cout << "File created: " << filename << endl;
return 0;
}
```
这段代码会首先尝试打开名为 "file.txt" 的文件,如果该文件已经存在,则将文件名改为 "file1.txt",继续尝试打开文件,直到找到一个不存在的文件名为止。然后,将 "Hello, world!" 写入新创建的文件中,并打印出新文件的文件名。
您可以根据需要修改文件名的前缀和文件类型,以及写入的内容。
阅读全文