第四节 · 摄取与排放数据 · 文件输入输出

程序中的数据通常存在于内存中,程序一旦结束就会丢失。如果想要持久保存数据,就需要将其写入文件。反之,读取文件可以让程序获取之前保存的数据。


文件流类

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