流
流是一种抽象的概念, 表示了数据的无结构化传递, 由一端流向另一端
常见的:
- 输入/输出流 (I/O 流): 键盘向程序内部输入, 程序内部向屏幕输出
- 数据流: 通常指网络中的数据传递
- 文件流: 通常指读写文件
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 设置文件指针