C++ 如何向文件写入数据_C++ 文件输出 ofstream 示例

使用ofstream可将数据写入文件,需包含头文件,创建对象并打开文件后,用

在 C++ 中,向文件写入数据通常使用 ofstream(output file stream)类,它是 C++ 标准库 头文件的一部分。通过 ofstream,可以轻松创建或打开文件,并将文本或数值数据写入其中。

包含必要的头文件

要使用文件输出功能,必须包含 头文件。同时常用的是 iostream> 和 ,以便进行输入输出和字符串操作。

#include 
#include 
#include 

创建 ofstream 对象并打开文件

声明一个 ofstream 变量,并使用 open() 方法或构造函数指定文件名。如果文件不存在,会自动创建;如果存在,默认会覆盖原内容。

std::ofstream outFile("example.txt");

也可以显式调用 open:

outFile.open("example.txt");

向文件写入数据

使用输出运算符 向文件写入字符串、数字或其他支持该操作的数据类型

outFile << "姓名: 张三\n";
outFile << "年龄: 25\n";
outFile << "分数: 98.5\n";

你也可以一次写入多条信息:

outFile << "ID: 1001" << std::endl
         << "部门: 开发部" << std::endl;

检查文件是否成功打开

在写入前应检查文件流状态,避免因权限或路径问题导致写入失败。

if (!outFile.is_open()) {
    std::cerr << "无法打开文件!" << std::endl;
    return -1;
}

关闭文件

写入完成后,调用 close() 方法关闭文件,确保数据被正确保存并释放资源。

outFile.close();

即使不手动调用 close(),析构函数也会在对象销毁时自动关闭文件,但显式关闭是良好习惯。

完整示例代码

下面是一个完整的例子,演示如何将用户信息写入文件:

#include 
#include 
#include 

int main() {
    std::ofstream file("user_info.txt");

    if (!file.is_open()) {
        std::cerr << "无法创建文件!" << std::endl;
        return 1;
    }

    file << "用户信息:" << std::endl;
    file << "姓名:李四" << std::endl;
    file << "邮箱:lisi@example.com" << std::endl;
    file << "注册时间:2025-04-05" << std::endl;

    file.close();

    std::cout << "数据已成功写入 user_info.txt" << std::endl;
    return 0;
}

附加选项:追加模式写入

默认情况下,ofstream 会清空文件内容。若希望在文件末尾追加数据,需指定 std::ios::app 模式。

std::ofstream file("log.txt", std::ios::app);
file << "新的日志条目:操作完成。\n";
file.close();
基本上就这些。掌握 ofstream 的基本用法后,就能灵活地将程序中的数据持久化保存到文件中。