C++ 流式读写 | std::ifstream | | 文本/二进制读 | cpp std::ifstream fin(“a.txt”); fin » x; | 类型安全的高层读写 |
| std::ofstream | | 文本/二进制写 | cpp std::ofstream fout(“a.txt”); fout « x; | |
| std::fstream | | 文本/二进制读写 | cpp std::fstream file(“a.bin”, std::ios::binary|std::ios::in|out); | 需要随机访问的二进制文件 |
C 标准库 | fopen() + fread()/fwrite() | <stdio.h> | 二进制读写 | c FILE* f = fopen(“a.bin”, “rb”); fread(&x, sizeof(int), 1, f); | 跨平台二进制操作 |
| fopen() + fscanf()/fprintf() | <stdio.h> | 格式化文本读写 | c fprintf(f, “%d”, x); | 结构化文本文件 |
| fgets()/fputs() | <stdio.h> | 行式文本读写 | c fgets(buf, 100, f); | 逐行处理文本 |
POSIX 系统调用 | open() + read()/write() | <fcntl.h> | 低层二进制读写 | c int fd = open(“a.bin”, O_RDWR); read(fd, &x, sizeof(x)); | 需要精细控制(如非阻塞IO) |
| mmap() | <sys/mman.h> | 内存映射文件 | c void* p = mmap(…, fd, …); | 大文件随机访问 |
内存文件 | fmemopen() (POSIX) | <stdio.h> | 将内存模拟为文件 | c FILE* memf = fmemopen(buf, size, “r+”); | 内存数据流处理 |
| std::stringstream | | C++ 内存流 | | |