📜  c++ fstream create if not exists - C++ (1)

📅  最后修改于: 2023-12-03 14:59:44.980000             🧑  作者: Mango

C++中使用fstream创建文件(如果不存在)

在C++中,可以使用fstream库创建文件并向其中写入数据。如果文件不存在,可以使用以下代码创建它:

#include <fstream>
using namespace std;

int main() {
    ofstream file("example.txt");   // 创建一个名为example.txt的文件(如果不存在)
    if (file.is_open()) {   // 确认文件已打开
        file << "Hello, World!";   // 向文件中写入数据
        file.close();   // 关闭文件
    }
    return 0;
}

在上面的示例中,我们使用了ofstream类创建了一个名为“example.txt”的文件,并将其打开。文件被打开后,我们向其中写入了一条消息“Hello, World!”。最后,我们调用了close()函数,以关闭文件。

如果文件已经存在,则创建一个新文件。如果需要检查文件是否已经存在,则需要使用ifstream类来进行检查,然后再使用ofstream类来创建新文件。以下是示例代码:

#include <fstream>
using namespace std;

bool fileExists(const string& filename) {
    ifstream file(filename.c_str());  // 尝试打开文件
    return file.good();   // 如果成功打开文件,则返回true
}

int main() {
    string filename = "example.txt";
    if (!fileExists(filename)) {   // 如果文件不存在
        ofstream file(filename.c_str());   // 创建一个新文件
        if (file.is_open()) {   // 确认文件已打开
            file << "Hello, World!";   // 向文件中写入数据
            file.close();   // 关闭文件
        }
    } else {   // 如果文件已经存在
        // 执行其他操作
    }
    return 0;
}

在上面的示例中,我们首先定义了一个名为fileExists()的函数,该函数接受一个字符串类型的文件名,并尝试打开该文件。如果文件可以被打开,则说明该文件已经存在,函数返回true。

然后,我们使用fileExists()函数来检查文件是否存在。如果文件不存在,则创建一个新文件,并将数据写入其中。如果文件已经存在,则可以执行其他操作。