一 概念
一 流的概念
二 使用
一 常用成员函数
01 打开文件 open
模式标记 | 适用对象 | 作用 |
---|---|---|
ios::in | ifstream fstream | 打开文件用于读取数据。如果文件不存在,则打开出错 |
ios::out | ofstream fstream | 打开文件用于写入数据。如果文件不存在,则新建该文件;如果文件原本就存在,则打开时清除原来的内容 |
ios::app | ofstream fstream | 打开文件,用于在尾部添加数据。如果文件不存在,则新建该文件 |
ios::ate | ifstream | 打开一个已有的文件,并将 文件读指针 指向文件末尾。如果文件不存在,则打开出错 |
ios::trunc | ofstream | 打开文件时会清空内部存储的所有数据,单独使用时与ios::out相同 |
ios::binary | ifstream ofstream fstream | 以二进制方式打开文件。若不指定此模式,则以文本模式打开 |
ios::in | ios::out | fstream | 打开已存在的文件,既可读取其内容,也可向其写入数据。文件刚打开时,原有内容保持不变,如果文件不存在,则打开出错 |
ios::in | ios::out | ofstream | 打开已存在的文件,可向其写入数据。文件刚打开时,原有内容保持不变,如果文件不存在,则打开出错 |
ios::in | ios::out | ios::trunc | fstream | 打开文件,既可读取其内容,也可向其写入数据。如果文件不存在,则新建该文件;如果文件原本就存在,则打开时清除原来的内容 |
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 关闭文件 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();
原文地址:https://blog.csdn.net/weixin_61901599/article/details/122901158
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_41168.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。