fstream文件不存在则创建
时间: 2023-09-12 09:07:36 浏览: 344
可以使用fstream的构造函数来创建文件,如果文件不存在则会自动创建。例如:
```c++
#include <iostream>
#include <fstream>
int main() {
std::fstream file("example.txt", std::ios::out);
if (file.is_open()) {
std::cout << "文件已创建" << std::endl;
file << "Hello, World!";
file.close();
} else {
std::cout << "无法创建文件" << std::endl;
}
return 0;
}
```
在上面的代码中,使用了fstream的构造函数来创建一个名为"example.txt"的文件,并且打开文件流以进行写入操作。如果文件不存在则会自动创建。然后,使用is_open()函数来检查文件是否成功打开,如果成功打开,则可以像使用普通的输出流一样向文件中写入数据。最后,使用close()函数关闭文件流。
相关问题
C++怎么判断文件是否存在,不存在则创建
在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`模式,这表示我们既可以读取文件内容,也可以向文件写入内容,并且如果文件已经存在,则在文件末尾追加内容。
c++判断文件是否存在,存在则打开,然后加入新的字串,不存在则创建,再打开存入新字串
在C++中,你可以使用`fstream`库来判断并操作文件。以下是一个简单的步骤来实现这个功能:
```cpp
#include <fstream>
#include <string>
std::string new_string = "这是要添加的新字符串"; // 新字符串
// 定义文件路径
std::string filePath = "example.txt";
// 使用ifstream检查文件是否存在
std::ifstream file(filePath);
if (file.exists()) { // C++标准库没有exists()函数,这里假设有一个类似的操作
std::cout << "文件已存在,开始读取并追加内容...\n";
// 如果文件存在,打开模式设为追加(a+)
file.open(filePath, std::ios::app);
if (file.is_open()) {
file << new_string; // 添加新字符串到文件
file.close(); // 关闭文件
} else {
std::cerr << "无法打开文件以追加!\n";
}
} else {
std::cout << "文件不存在,将创建并写入...\n";
// 文件不存在,创建新文件并写入
std::ofstream outputFile(filePath);
if (outputFile.is_open()) {
outputFile << new_string;
outputFile.close();
} else {
std::cerr << "无法创建文件!\n";
}
}
阅读全文