概述

文件流提供与 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()
```cpp
 
### 读取文件
 
```cpp
FUNCTION demo_read:
 fin = IFSTREAM("data.txt")
 line = STRING()
 WHILE GETLINE(fin, line):
 PRINT line
 END WHILE
 fin.CLOSE()
```cpp
 
### 追加与二进制
 
```cpp
FUNCTION demo_append_binary:
 fout = OFSTREAM("log.txt", APP) // 追加模式
 fout << "新日志条目" << ENDL
 
 fbin = OFSTREAM("data.bin", BINARY) // 二进制写入
 x = 0x12345678
 fbin.WRITE(&x, SIZEOF(x)) // 写入原始字节
```cpp
 
---
 
- **控制台 IO**: [[iostream|iostream]] — `cin`/`cout`
- **字符串流**: [[sstream|sstream]] — 内存格式化
- **文件系统**: [[filesystem|filesystem]] — 目录遍历、路径操作
- **C 对照**: `fopen`/`fclose`/`fprintf`/`fscanf`(`<stdio.h>`)
- **返回目录**: