流是一种抽象的概念, 表示了数据的无结构化传递, 由一端流向另一端

常见的:

  1. 输入/输出流 (I/O 流): 键盘向程序内部输入, 程序内部向屏幕输出
  2. 数据流: 通常指网络中的数据传递
  3. 文件流: 通常指读写文件

fstream

#inclde <iostream>
#include <fstream>
/*包含的类:
std:: fstream; 通过打开方式设置读取文件还是写入文件
std::ifstream; 文件读取
std::ndern; 写入文件
(因为这些是类,所以程序结束会自动调用析构函数)
*/
int main() {
    std::fstream file;
    file.open("OItest.txt", std::ios::out);//跟 Python、c 差不多
}
打开方式描述
ios::in以只读方式打开文件(默认方式)
ios::out以写入方式打开文件,如果文件不存在则创建新文件
ios::app以追加方式打开文件,在文件末尾追加写入内容
ios::ate打开文件后定位到文件末尾,可以随机访问并修改文件内容
ios::trunc如果文件存在,则先删除文件内容,再以写入方式打开文件
ios::binary以二进制方式打开文件,用于处理二进制文件
ios :: in | ios :: out兼具 in 和 out 的功能

相关函数:
write read

//接上
char buffer[1024] = "你好!\nHello world\n";
file.write(buffer,strlen(buffer));//读取file.read(buffer,1024)
//也可以这样写
file << buffer;
// << 是写入,>> 是输出,也就是读取

close 关闭
is_open、eof 判断文件状态
seekp/g、tellp/g 设置文件指针