概述

文件流提供与 cin/cout 相同接口的文件读写——ifstream 读文件、ofstream 写文件、fstream 可读写。打开模式可通过标志位组合控制:追加、截断、二进制等。

文件流在构造时可以指定路径,析构时自动关闭文件(RAII)。

核心组件

组件说明
ifstream文件输入流(只读)
ofstream文件输出流(只写)
fstream文件输入输出流(读写)
open(path)打开文件
close()关闭文件
is_open()检查是否已打开

打开模式标志

标志说明
in读模式(ifstream 默认)
out写模式(ofstream 默认)
app追加模式(写入前定位到文件尾)
trunc截断模式(打开时清空原有内容)
ate打开后定位到文件尾
binary二进制模式(不转换换行符)

典型用法

写入文件

FUNCTION demo_write:
    fout = OFSTREAM("data.txt")
    IF NOT fout.IS_OPEN() THEN
        ERROR << "无法打开文件" << ENDL
        RETURN
    END IF

    fout << "第一行" << ENDL
    fout << 42 << " " << 3.14 << ENDL
    fout.CLOSE()

读取文件

FUNCTION demo_read:
    fin = IFSTREAM("data.txt")
    line = STRING()
    WHILE GETLINE(fin, line):
        PRINT line
    END WHILE
    fin.CLOSE()

追加与二进制

FUNCTION demo_append_binary:
    fout = OFSTREAM("log.txt", APP)         // 追加模式
    fout << "新日志条目" << ENDL

    fbin = OFSTREAM("data.bin", BINARY)     // 二进制写入
    x = 0x12345678
    fbin.WRITE(&x, SIZEOF(x))               // 写入原始字节

  • 控制台 IO: iostreamcin/cout
  • 字符串流: sstream — 内存格式化
  • 文件系统: filesystem — 目录遍历、路径操作
  • C 对照: fopen/fclose/fprintf/fscanf<stdio.h>
  • 返回目录: