十一 IO流

十一 IO流,第1张

一 概念 一 流的概念

数据的无结构化传递

C++流(外部输入计算机,计算机输出外部,输入输出的过程)

C++11标准:I/O 标准类 库

/*
I:    in     输入
O:    out    输出
流:   数据流
*/
二 使用

fstream 常用文件 *** 作 类

一 常用成员函数 01 打开文件 open
模式标记适用对象作用
ios::inifstream fstream打开文件用于读取数据。如果文件不存在,则打开出错
ios::outofstream fstream打开文件用于写入数据。如果文件不存在,则新建该文件;如果文件原本就存在,则打开时清除原来的内容
ios::appofstream fstream打开文件,用于在尾部添加数据。如果文件不存在,则新建该文件
ios::ateifstream打开一个已有的文件,并将 文件读指针 指向文件末尾。如果文件不存在,则打开出错
ios::truncofstream打开文件时会清空内部存储的所有数据,单独使用时与ios::out相同
ios::binaryifstream ofstream fstream以二进制方式打开文件。若不指定此模式,则以文本模式打开
ios::in | ios::outfstream打开已存在的文件,既可读取其内容,也可向其写入数据。文件刚打开时,原有内容保持不变,如果文件不存在,则打开出错
ios::in | ios::outofstream打开已存在的文件,可向其写入数据。文件刚打开时,原有内容保持不变,如果文件不存在,则打开出错
ios::in | ios::out | ios::truncfstream打开文件,既可读取其内容,也可向其写入数据。如果文件不存在,则新建该文件;如果文件原本就存在,则打开时清除原来的内容
02 *** 作文件
//1.判断文件是否成功打开
obj.is_open();//返回值
//2.是否到达文件尾
obj.eof();//返回值
//3.写入❤️一个 字符
obj.put('s');
//4.读取❤️一个 字符
char ch = 0;
obj.get(ch);
ch = obj.get();
//5.移动文件指针
/*参数:移动距离,开始移动的位置*/
/*
1 ios::beg 文件开头
2 ios::end 文件结尾
3 ios::cur 当前位置
*/
obj.seekp(2, ios::cur);
//6.二进制读写文件     大小端存储
/* 写 write */
obj.open("test.txt",ios::out);
int num = 0X11223344;
obj.write((const char*)&num,sizeof(int));
obj.close();
/* 读 read */
obj.open("test.txt",ios::in);
int val = 0;
obj.read((char*)&val,sizeof(int));
obj.close();
cout << hex << "val = 0X-" << val << endl;
03 关闭文件 class="superseo">close 三 使用重载的 << >>
obj.open("test.txt",ios::out);
​
obj << "HAPPY NEW YEAR!" << endl;
obj << "恭喜发财" << endl;
obj << "10086" << endl;          //
​
obj.close();
obj.open("test.txt",ios::in);
​
char str_1[128];
char str_2[128];
int num;
obj >> str_1 >> str_2 >> num >> endl;
​
obj.close();

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/993683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存