使用ofstream写入文件需包含<fstream>,创建对象并检查是否打开成功,通过<<操作符写入数据,可指定ios::app等模式追加内容,最后关闭文件以确保数据保存。

在c++中,向文件写入数据最常用的方法是使用文件输出流(ofstream)。它是fstream库的一部分,基于ostream类,专门用于将数据写入文件。
包含头文件与创建ofstream对象
要使用ofstream,必须包含<fstream>头文件。然后定义一个ofstream类型的对象,并将其与目标文件关联。
示例代码:
// 包含必要的头文件
#include <iostream>
#include <fstream>
using Namespace std;
int main() {
ofstream outFile(“example.txt”); // 创建输出流对象并打开文件
if (!outFile) {
cerr << “无法打开文件!” << endl;
return 1;
}
outFile << “Hello, World!” << endl;
outFile << “这是一行文本。” << endl;
outFile.close(); // 关闭文件
cout << “数据已写入文件。” << endl;
return 0;
}
这段代码会在当前目录下创建名为example.txt的文件,并写入两行文本。
立即学习“C++免费学习笔记(深入)”;
检查文件是否成功打开
在写入前应判断文件是否成功打开,避免因权限不足或路径错误导致写入失败。
可以使用is_open()函数或直接判断流对象的布尔状态:
if (outFile.is_open()) {
// 文件打开成功,可进行写入
} else {
cerr << “打开文件失败。” << endl;
}
指定打开模式
ofstream支持多种打开模式,通过构造函数的第二个参数设置:
- ios::out – 默认模式,以写入方式打开文件
- ios::app – 在文件末尾追加内容
- ios::trunc – 若文件存在则清空内容(默认行为)
- ios::ate – 打开文件后立即定位到末尾
追加写入示例:
ofstream outFile(“log.txt”, ios::app);
outFile << “新日志条目” << endl;
这样每次运行程序都会在原内容后添加新行,而不是覆盖原有内容。
写入不同类型的数据
ofstream支持写入字符串、数字、变量等几乎所有基础类型。
int age = 25;
double price = 99.9;
String name = “Alice”;
outFile << “姓名:” << name << endl;
outFile << “年龄:” << age << endl;
outFile << “价格:” << price << endl;
输出结果会自动转换为文本格式写入文件。
基本上就这些。掌握ofstream的创建、打开、写入和关闭流程,就能轻松实现C++中的文件写入功能。注意及时关闭文件或让对象析构自动关闭,确保数据真正写入磁盘。