C++怎么判断文件是否存在,不存在则创建
时间: 2023-09-12 09:08:02 浏览: 396
在C++中,可以通过使用`std::fstream`类判断文件是否存在,如果不存在则创建文件。下面是一个简单的示例代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main() {
std::string filename = "example.txt";
std::fstream fs;
fs.open(filename.c_str(), std::fstream::in | std::fstream::out | std::fstream::app);
if (fs.is_open()) {
std::cout << "File exists." << std::endl;
} else {
std::cout << "File does not exist, creating file." << std::endl;
fs.open(filename.c_str(), std::fstream::in | std::fstream::out | std::fstream::trunc);
fs.close();
}
return 0;
}
```
在上面的示例代码中,我们首先定义了一个名为filename的字符串变量,用来存储文件名。然后,我们创建了一个名为fs的fstream对象,并使用`open()`函数打开了文件。我们使用`is_open()`函数判断文件是否存在,如果存在,则输出"File exists.",否则输出"File does not exist, creating file.",并通过`open()`函数创建一个新文件。注意,在创建新文件时,我们使用了`std::fstream::trunc`模式,这意味着如果文件已经存在,则会清空文件内容。
需要注意的是,在使用`fstream`类判断文件是否存在时,需要在`open()`函数中使用`std::fstream::in`模式。同时,我们还使用了`std::fstream::out`模式和`std::fstream::app`模式,这表示我们既可以读取文件内容,也可以向文件写入内容,并且如果文件已经存在,则在文件末尾追加内容。
阅读全文