第四节 · 摄取与排放数据 · 文件输入输出
程序中的数据通常存在于内存中,程序一旦结束就会丢失。如果想要持久保存数据,就需要将其写入文件。反之,读取文件可以让程序获取之前保存的数据。
文件流类
C++ 提供了三个文件流类:
类
说明
ifstream
输入文件流(读取文件)
ofstream
输出文件流(写入文件)
fstream
双向文件流(读写文件)
使用前需要包含 <fstream> 头文件。
写入文件
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ofstream outFile("data.txt"); // 创建/打开文件
if (!outFile)
{
cerr << "无法打开文件!" << endl;
return 1;
}
// 写入数据(与 cout 用法相同)
outFile << "Hello, File!" << endl;
outFile << 42 << endl;
outFile << 3.14 << endl;
outFile.close(); // 关闭文件
cout << "数据已写入文件" << endl;
return 0;
}读取文件
逐行读取
文件打开模式
模式
说明
ios::in
读取
ios::out
写入
ios::app
追加到末尾
ios::trunc
清空文件(默认)
ios::binary
二进制模式
二进制文件
文件位置
检查文件状态
完整示例:简单的学生成绩管理
习题
编写程序,统计一个文本文件中的行数、单词数和字符数。
实现一个简单的配置文件读写功能(键=值格式)。
编写程序,将一个文件的内容复制到另一个文件。
Last updated