中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第23讲 文件输入和输出

第23讲文件输入和输出 教学目的和要求: 了解使用文件输入输出的过程。 掌握文件的打开和关闭及文件的读写 教学内容提要: 1、文件的打开和关闭; 2、文件的读写; 教学重点:文件的打开和关闭及文件的读写。 教学难点:文件的打开和关闭及文件的读写。 教学进度:P261~P274 教学过程:
第23讲 文件输入和输出 教学目的和要求: 了解使用文件输入输出的过程。 掌握文件的打开和关闭及文件的读写。 教学内容提要: 1、文件的打开和关闭; 2、文件的读写; 教学重点:文件的打开和关闭及文件的读写。 教学难点:文件的打开和关闭及文件的读写。 教学进度:P261~P274 教学过程:

231文件的打开与关闭 1文件的打开 为了对一个文件进行读写操作,应先 打开”该文件;在使用结束后,则应 关闭”文件。在C++中,打开一个文 件,就是将这个文件与一个流建立关联; 关闭一个文件,就是取消这种关联
23.1 文件的打开与关闭 1.文件的打开 为了对一个文件进行读写操作,应先 “打开”该文件;在使用结束后,则应 “关闭”文件。在C++中,打开一个文 件,就是将这个文件与一个流建立关联; 关闭一个文件,就是取消这种关联

要执行文件的输入输出,须做三件事: 1)在程序中包含头文件 ream. h; (2)建立流。建立流的过程就是定义流类的对象,例如: fstream in: ofstream out: fstream both 分别定义了输入流对象in;输出流对象out,输入输出流 对象both。 (3)使用open函数打开文件,也就是使某一文件与上面的某 一流相联系。 open函数是上述三个流类的成员函数,其原 型是在 fstream. h中定义的,原型为: void open( const unsigned char*, int mode, int access=filebuf: openprot)
要执行文件的输入输出,须做三件事: (1) 在程序中包含头文件fstream.h; (2) 建立流。建立流的过程就是定义流类的对象,例如: ifstream in; ofstream out; fstream both; 分别定义了输入流对象in;输出流对象out,输入输出流 对象both。 (3) 使用open()函数打开文件,也就是使某一文件与上面的某 一流相联系。open()函数是上述三个流类的成员函数,其原 型是在fstream.h中定义的, 原型为: void open(const unsigned char*,int mode,int access=filebuf::openprot);

说明: )、 filename是文件名字,它可包含路径说明。 2)、mode说明文件打开的模式,它对文件的操作影响重大, mode的取值必须是以下值之一: los::In 打开文件进行读操作 1os:: out 打开文件进行写操作 ios:: ate 打开时文件指针定位到文件尾 10S:: app 添加模式,所有增加都在文件尾部进行 os:: trunc 如果文件已存在则清空原文件 los:: nocreate 如果文件不存在则打开失败 10S::noreplace 如果文件存在则打开失败 ios: binary 二进制文件(非文本文件) 对于 ifstream流,mode的默认值为ios:in;对于 ofstream流 ,mode的默认值为ios:out。 3)、prot决定文件的访问方式,取值为: 0普通文件 1只读文件 2隐含文件 4系统文件 般情况下,该访问方式使用默认值
说明: 1)、filename是文件名字,它可包含路径说明。 2)、mode说明文件打开的模式,它对文件的操作影响重大, mode的取值必须是以下值之一: ios::in 打开文件进行读操作 ios::out 打开文件进行写操作 ios::ate 打开时文件指针定位到文件尾 ios::app 添加模式,所有增加都在文件尾部进行 ios::trunc 如果文件已存在则清空原文件 ios::nocreate 如果文件不存在则打开失败 ios::noreplace 如果文件存在则打开失败 ios::binary 二进制文件(非文本文件) 对于ifstream流,mode的默认值为ios::in;对于ofstream流 ,mode的默认值为ios::out。 3)、prot决定文件的访问方式,取值为: 0 普通文件 1 只读文件 2 隐含文件 4 系统文件 一般情况下,该访问方式使用默认值

2文件的关闭 在使用完一个文件后,应该把它关闭 所谓关闭,实际上就是使打开的文件与流 “脱钩”。关闭文件可使用cos0函数完成, close函数也是流类中的成员函数,它不带 参数,不返回值。例如: 将关闭与流out相联接的文件
2.文件的关闭 在使用完一个文件后,应该把它关闭。 所谓关闭,实际上就是使打开的文件与流 “脱钩”。关闭文件可使用close()函数完成, close()函数也是流类中的成员函数,它不带 参数,不返回值。例如: 将关闭与流out相联接的文件

232文件的读写 文件读写方法 (1)使用流运算符直接读写。 文件的读/写操作可以直接使用流的插入运算符“>”,这些运算符将完成文件的字符转换 工作。 (2)使用流成员函数 常用的输出流成员函数为:pu函数、 write函数、输 出流随机访问函数有sekp和 tello 常用的输入流成员函数如下:get函数、 getline函数、 read函数,输入流随机访问函数有 seekg和tell
23.2 文件的读写 1. 文件读写方法 ◼ (1)使用流运算符直接读写。 文件的读/写操作可以直接使用流的插入运算符“>”,这些运算符将完成文件的字符转换 工作。 ◼ (2)使用流成员函数 常用的输出流成员函数为:put函数、write函数、输 出流随机访问函数有seekp和tellp。 常用的输入流成员函数如下:get函数、getline函数、 read函数,输入流随机访问函数有seekg和tellg

例23.9把一个整数、一个浮点数和一个字符串写到 磁盘文件tes中 #includesfstream h int maino ofstream fou fout open( test); if fout) t cout<<" Cannot open output fileIn, "r return fout<<10<<<<123.456<<t"<<This is a text file. \n" fout. close return 0:
例23.9 把一个整数、一个浮点数和一个字符串写到 磁盘文件test中。 #include int main() { ofstream fout; fout.open("test"); if (!fout) { cout<<"Cannot open output file\n,"; return 1; } fout<<10<<" "<<123.456<<"\t" <<“This is a text file.\n"; fout.close(); return 0; }

2二进制文件的读写 二进制文件不同于文本文件,它可用于任何类型的文件 (包括文本文件),读写二进制文件的字符不作任何转换, 读写的字符与文件之间是完全一致的。 (1)用geO函数和pu0函数读写二进制文件 getO函数有许多格式,其中最常用的版本原型如下: istream& get(char& ch) getO函数从相关流中只读一个字节,并把该值放入ch中并 返回该流,当到达文件尾时,使该流的值为0。 puO函数的原型如下: ostream& put(char ch); puO函数将ch写入流中并返回该流
2.二进制文件的读写 二进制文件不同于文本文件,它可用于任何类型的文件 (包括文本文件),读写二进制文件的字符不作任何转换, 读写的字符与文件之间是完全一致的。 (1) 用get()函数和put()函数读写二进制文件 get()函数有许多格式,其中最常用的版本原型如下: istream& get(char& ch); get()函数从相关流中只读一个字节,并把该值放入ch中并 返回该流,当到达文件尾时,使该流的值为0。 put()函数的原型如下: ostream& put(char ch); put()函数将ch写入流中并返回该流

例23.11将‘a”至‘z的26个英文字母写入文件,而后从该文 件中读出并显示出来。 #includesiostream. h> #include void test write i ofstream fs fs. open("d: test. dat); int i: char c='a"’; for(i=0; i<26; i++fs. put(c);c++; fs. closed void test reado i ifstream fs(d: lItest. dat"); char c; while(fs. get(c)cout<<c fs. closed void maino i test write; test read;
例23.11 将‘a’ 至‘z’ 的26个英文字母写入文件,而后从该文 件中读出并显示出来。 #include #include void test_write() { ofstream fs; fs.open("d:\\test.dat"); int i; char c='a'; for (i=0;i<26;i++){fs.put(c); c++; } fs.close() } void test_read() { ifstreamfs("d:\\test.dat"); char c; while(fs.get(c)) cout<<c; fs.close() } void main() { test_write(); test_read(); }

(2)用 readi函数和 write0函数读写二进制文件 reado-和 write原型如下: istream &read(unsigned char* buf, int num); ostream &write(const unsigned char* buf, int num):
(2) 用read()函数和write()函数读写二进制文件 read()和write()原型如下: istream &read(unsigned char* buf,int num); ostream &write(const unsigned char* buf,int num);
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第22讲 C++的输入和输出.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第21讲 模板应用.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第21讲 用指针处理链表.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第20讲 模板.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第1讲 面向对象程序设计概述.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第19讲 几种常见的运算符重载及类型转换函数.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第18讲 运算符重载.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第17讲 抽象类.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第16讲 多态性与虚.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第15讲 赋值兼容.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第14讲 多继承.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第13讲 派生的构造函数和析构函数.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第12讲 派生类的概念.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第11讲 静态成员及友元.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第10讲 对象数组和指针及对象作为函数参数.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第10章 Visual C++编程实例.ppt
- 《单片机相关电子图书资料》第十一章 PIC 单片机的 C 语言编程.pdf
- 《单片机相关电子图书资料》精彩51单片机教程.pdf
- 《单片机相关电子图书资料》51单片机C编程.pdf
- 山东大学:《Visual C++程序设计》第4章 C++的流程控制语句(张晓如).ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第24讲 综合应用举例.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第2讲 C++基础.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第3讲 基本数据类型.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第4讲 函数.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第5讲 函数重载和变量的作用域.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第6讲 动态内存分配和引用.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第7讲 类和对象的声明.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第8讲 构造函数和析构函数.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第9讲 拷贝构造函数和对象成员.ppt
- 《单片机原理与应用》课程教学资源(PPT课件讲稿)第一章 单片机基础知识.ppt
- 《单片机原理与应用》课程教学资源(PPT课件讲稿)第三章 MCS-51单片机指令系统及汇编语言程序设计.ppt
- 《单片机原理与应用》课程教学资源(PPT课件讲稿)第五章 MCS-51系统扩展技术.ppt
- 《单片机原理与应用》课程教学资源(PPT课件讲稿)第四章 MCS-51的片内接口.ppt
- 《单片机原理与应用》课程教学资源(PPT课件讲稿)第二章 MCS-51单片机结构原理.ppt
- 山东商业职业技术学院:《Visual Basic可视化程序设计》课程电子教案(PPT课件)目录(主讲教师:徐红、姚丽娟、王轶凤).ppt
- 山东商业职业技术学院:《Visual Basic可视化程序设计》课程电子教案(PPT课件)第一章 VB可视化程序设计概述.ppt
- 山东商业职业技术学院:《Visual Basic可视化程序设计》课程电子教案(PPT课件)第七章 数据库应用.ppt
- 山东商业职业技术学院:《Visual Basic可视化程序设计》课程电子教案(PPT课件)第三章 常用控件应用.ppt
- 山东商业职业技术学院:《Visual Basic可视化程序设计》课程电子教案(PPT课件)第二章 VB可视化程序设计基础.ppt
- 山东商业职业技术学院:《Visual Basic可视化程序设计》课程电子教案(PPT课件)第五章 图形操作.ppt