std::ifstream打开文件如果文件不存在创建文件
时间: 2023-08-02 22:08:50 浏览: 197
c++文件操作详解
如果你想使用std::ifstream打开文件,但是文件不存在,你可以使用std::ofstream来创建文件。以下是一个示例代码:
```c++
#include <fstream>
#include <iostream>
int main() {
std::string filename = "example.txt";
std::ifstream file(filename);
if (!file.good()) { // 文件不存在
std::ofstream outfile(filename);
if (outfile.good()) { // 创建文件成功
std::cout << "文件" << filename << "创建成功" << std::endl;
outfile.close();
} else { // 创建文件失败
std::cerr << "文件" << filename << "创建失败" << std::endl;
return 1;
}
} else { // 文件存在
std::cout << "文件" << filename << "已存在" << std::endl;
file.close();
}
return 0;
}
```
在上面的代码中,我们首先尝试使用std::ifstream打开文件。如果文件不存在,我们使用std::ofstream来创建文件并检查是否创建成功。如果创建成功,我们会输出一条消息,然后关闭文件。如果创建失败,我们会输出一条错误消息并返回一个非零的值。如果文件存在,则输出一条消息并关闭文件。
注意,如果你想使用std::ofstream打开文件来进行写入操作,如果文件已经存在,则文件内容将被清空。如果你想追加内容到文件末尾,可以使用std::ofstream::app打开文件。
阅读全文