第13章-C++输入输出流《C++程序设计基础教程》ppt课件.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第13章-C++输入输出流《C++程序设计基础教程》ppt课件.pptx》由会员分享,可在线阅读,更多相关《第13章-C++输入输出流《C++程序设计基础教程》ppt课件.pptx(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第13章 C+输入输出流C+程序设计基础教程课件2 22第第13章章C+输入输入/输出流输出流13.1 流的概念流的概念13.2 标标准准输输入入输输出流出流12.3 文件流文件流12.4 小小结结3 3313.1C+的输入和输出的输入和输出C+的输入与输出的输入与输出(1)对系系统指定的指定的标准设备标准设备的的输入和入和输出。即出。即标准准I/O。(2)以外存以外存磁盘文件磁盘文件为对象象进行行输入和入和输出,出,即文件即文件I/O。(3)对指定的指定的内存内存空空间进行行输入和入和输出。即串出。即串I/O。输入入时,字,字节流从流从输入入设备(如如键盘、磁、磁盘)流流向向内存内存;输出出
2、时,字,字节流从流从内存内存流向流向输出出设备(如屏幕、打印机、磁如屏幕、打印机、磁盘等等)。4 44I/O流的概念流的概念当程序与外界当程序与外界环境境进行信息交行信息交换时,存在着两个,存在着两个对象,一个是象,一个是程序中的程序中的对象象,另一个是,另一个是文件文件对象象。流是一种抽象,它流是一种抽象,它负责在数据的在数据的生生产者者和数据的和数据的消消费者者之之间建立建立联系,并管理数据的流系,并管理数据的流动。程序建立一个程序建立一个流流对象象,并指定,并指定这个流个流对象与某个象与某个文件文件对象建立象建立连接,程序操作流接,程序操作流对象,流象,流对象通象通过文件系文件系统对所所
3、连接的文件接的文件对象象产生作用。生作用。读操作操作在流数据抽象中被称在流数据抽象中被称为(从流中)(从流中)提取提取,写操作写操作被称被称为(向流中)(向流中)插入插入。5 55流类流类(stream class):C+的的I/O库中的中的类。流对象流对象:用流:用流类定定义的的对象。象。预先定义的流对象预先定义的流对象&cin:标准准输入。入。&cout:标准准输出出。&cerr:标准准错误输出,出,没有缓冲没有缓冲。&clog:类似于似于cerr,有缓冲有缓冲。13.1.3C+的输入输出流的输入输出流6 661.iostream类库中有关的类类库中有关的类7 771.iostream类库
4、中有关的类类库中有关的类8 8813.2标准输出流标准输出流标准输出流标准输出流:流向:流向标准准输出出设备的数据。的数据。1.cout(console output)流对象)流对象cout流开辟内存流开辟内存缓冲区,用来存放流数据,遇冲区,用来存放流数据,遇endl时,不不论缓冲区是否已冲区是否已满,立即,立即输出流中所有数据,然后插出流中所有数据,然后插入一个入一个换行符,行符,并刷新流并刷新流(清空清空缓冲区冲区)。2.cerr流对象流对象作用作用:向:向标准准错误设备输出有关出出有关出错信息。信息。3.clog流对象流对象作用作用:和:和cerr相同。相同。区别区别:cerr不不经过缓
5、冲区,直接向冲区,直接向显示器上示器上输出有关信出有关信息息,而,而clog的信息存放在的信息存放在缓冲区,冲区,缓冲区冲区满后或遇后或遇endl时输出。出。9 99例例13.1 一元二次方程一元二次方程ax2+bx+c=0#include using namespace std;int main()cout hello world-cout endl;cerr hello world-cerr filecout.txt test filecerr.txt 10101013.2.2格式输出格式输出1.使用控制符控制输出格式使用控制符控制输出格式输出数据的控制符出数据的控制符见书中表中表13.3
6、。注注:这些控制符是在些控制符是在头文件文件iomanip中定中定义的,因而程序中的,因而程序中应当包含当包含iomanip。111111例例13.3用流控制成员函数输出数据用流控制成员函数输出数据int main()int a=21 cout.setf(ios:showbase);/显示基数符号示基数符号(0 x或或0)coutdec:aendl;/默默认十十进制形式制形式 cout.unsetf(ios:dec);/终止十止十进制的格式制的格式设置置 cout.setf(ios:hex);/以十六以十六进制制输出的状出的状态 couthex:aendl;/以十六以十六进制形式制形式输出出a
7、 cout.unsetf(ios:hex);/终止十六止十六进制的格式制的格式设置置 cout.setf(ios:oct);/设置以八置以八进制制输出的状出的状态 coutoct:aendl;/以八以八进制形式制形式输出出a 121212 cout.unseft(ios:oct);char*pt=China;/pt指向字符串指向字符串China cout.width(10);/指定域指定域宽为10 coutptendl;/输出字符串出字符串 cout.width(10);/指定域指定域宽为10 cout.fill(*);/指定空白指定空白处以以*填充填充 coutptendl;/输出字符串出字
8、符串 double pi=22.0/7.0;/输出出pi值 cout.setf(ios:scientific);/指定用科学指定用科学记数法数法输出出 coutpi=;/输出出pi=例例13.3用流控制成员函数输出数据用流控制成员函数输出数据131313 cout.width(14);/指定域指定域宽为14 coutpiendl;/输出出pi值 cout.unsetf(ios:scientific);/终止科学止科学记数法状数法状态 cout.setf(ios:fixed);/指定用定点形式指定用定点形式输出出cout.width(12);/指定域指定域宽为12cout.setf(ios:sh
9、owpos);/正数正数输出出+号号cout.setf(ios:internal);/数符出数符出现在左在左侧cout.precision(6);/保留保留6位小数位小数coutpi提取数据提取数据时跳跳过空格空格、tab键键、换行符换行符等。等。注注:只有按回只有按回车键后,后,该行数据才被送入行数据才被送入键盘缓冲区,形成冲区,形成输入流。入流。151515(1)不带参数的不带参数的get函数函数形式形式:cin.get()作用作用:从:从输入流中提取一字符,函数返回入流中提取一字符,函数返回读入入字符。遇到文件字符。遇到文件结束符,返回束符,返回EOF。(2)带一个参数的带一个参数的ge
10、t函数函数形式形式:cin.get(ch)作用作用:从:从输入流中入流中读取一字符,取一字符,赋给变量量ch。成功成功则非非0(真真),失,失败(遇文件遇文件结束符束符)则0(假假)。1.用用get函数读入一个字符函数读入一个字符171717(3)有有3个参数的个参数的get函数函数调用形式调用形式cin.get(字符字符数组数组数组数组,字符个数,字符个数n,终止字符终止字符)或或cin.get(字符字符指针指针,字符个数,字符个数n,终止字符终止字符)作用作用:从:从输入流中入流中读取取n-1个字符,个字符,赋给指定字指定字符数符数组,若在,若在读取取n-1个字符前遇到个字符前遇到指定的指
11、定的终止止字符字符,则提前提前结束。成功返真,失束。成功返真,失败返假。返假。181818void main()char ch20;coutenter a sentence:endl;cin.get(ch,10,n);/指定指定换行符行符为终止字符止字符 coutchendl;enter a sentence:I study C+very hard.I study(3)有有3个参数的个参数的get函数函数1919192.用成员函数用成员函数getline函数读入一行字符函数读入一行字符作用作用:从:从输入流中入流中读取取一行一行字符。字符。用法用法:与:与带3个参数的个参数的get函数函数类似
12、。似。cin.getline(字符数组字符数组(或字符指针或字符指针),字符个,字符个数数n,终止标志字符终止标志字符)202020例例13.7用用getline函数读入一行字符函数读入一行字符int main()char ch20;coutenter sentence:ch;coutThe string read with cin is:chendl;cin.getline(ch,20,/);/读19个字符或遇个字符或遇/结束束 coutThe second part is:chendl;cin.getline(ch,20);/读19个字符或遇个字符或遇/n结束束 coutThe third
13、 part is:chendl;cin PK cin.getline()21212113.3.3istream类的其他成员函数类的其他成员函数1.eof 函数函数调用形式:调用形式:cin.eof();如果到达文件末尾如果到达文件末尾(遇文件遇文件结束符束符),函数,函数值为非非0(真真),否,否则为0(假假)。2.peek函数函数作用作用:观测下一个字符下一个字符。调用形式:调用形式:cin.peek();注意注意:只是:只是观测,指,指针位置不位置不变。222222peek和和putback函数函数3.putback函数函数调用形式调用形式:cin.putback(ch);作用作用:将前面
14、用:将前面用get或或getline从从输入流中入流中读取字取字符符ch返回到返回到输入流,插入到当前指入流,插入到当前指针位置。位置。4.ignore函数函数调用形式调用形式:cin,ignore(n,终止字符止字符)作用作用:跳:跳过输入流中入流中n个字符,或遇指定个字符,或遇指定终止符提止符提前前结束束(跳跳过包括包括终止符在内的若干字符止符在内的若干字符)。ighore(5,A)232323int main()char ch20;cin.get(ch,20,/);coutThe first part is:chendl;cin.ignore();/跳跳过输入流中一个字符入流中一个字符
15、cin.get(ch,20,/);coutThe second part is:chendl;return 0;I like C+./I study C+./I am happy.The first part is:I like C+.The second part is:I study C+.例例13.10用用ignore函数跳过输入流中的字符函数跳过输入流中的字符24242413.3文件流文件流13.4.1 文件的概念文件的概念文件文件:存:存储在外部介在外部介质上数据的集合。上数据的集合。属性属性:名字,:名字,类型、属主、型、属主、创建日期、修改日建日期、修改日期、期、访问权限等。限等
16、。分类分类1用户角度用户角度&程序文件程序文件(program file)&数据文件数据文件(data file)分类分类2数据的组织形式数据的组织形式&ASCII文件文件:文本文件、字符文件:文本文件、字符文件&二进制文件二进制文件:内部格式文件、字:内部格式文件、字节文件文件25252513.3.2文件流的操作文件流的操作文件流文件流:以外存文件:以外存文件为IO对象的数据流。象的数据流。&输出文件流输出文件流:从:从内存内存流向流向外存文件外存文件的数据的数据&输入文件流输入文件流:从:从外存文件外存文件流向流向内存内存的数据的数据&每个文件流都有一个每个文件流都有一个内存缓冲区内存缓冲
17、区对应。文件流与文件文件流与文件:文件流本身不是文件,而只是以文件:文件流本身不是文件,而只是以文件为输入入输出出对象的流。象的流。1)ifstream:istream派生派生类。支持从文件的支持从文件的输入。入。2)ofstream:ostream派生派生类。支持向文件的支持向文件的输出。出。3)fstream:iostream派生派生类。支持文件的支持文件的输入入输出。出。对磁磁盘文件的操作通文件的操作通过文件流对象文件流对象实现。262613.3.2文件流的操作文件流的操作在在C+中中对文件文件进行操作分行操作分为以下几个步以下几个步骤:(1)建立文件流建立文件流对象;象;(2)打开或建
18、立文件;打开或建立文件;(3)进行行读写操作;写操作;(4)关关闭文件;文件;前两步也可合并前两步也可合并为一步。一步。27272713.4.3文件的打开与关闭文件的打开与关闭1.打开磁盘文件打开磁盘文件在文件在文件读写之前做必要的准写之前做必要的准备工作。工作。(1)为文件流文件流对象和指定磁象和指定磁盘文件建立关文件建立关联。(2)指定文件的工作方式。指定文件的工作方式。(1)调用文件流的成员函数调用文件流的成员函数openofstream outfile;/定定义ofstream类对象象outfile.open(f1.dat,ios:out);(2)在定义文件流对象时指定参数在定义文件流
19、对象时指定参数oftream outfile(f1.dat,ios:out);282828若若open函数函数调用失用失败,返回,返回值为0(假假);若构造;若构造函数打开失函数打开失败,则流流对象的象的值为0。2.关闭磁盘文件关闭磁盘文件成成员函数函数close。outfile.close();关闭关闭:解除磁:解除磁盘文件与文件流的关文件与文件流的关联。13.4.3文件的打开与关闭文件的打开与关闭29292913.4.4对对ASCII文件的操作文件的操作ASCII文件的读写操作文件的读写操作(1)用用文件流对象文件流对象和和流插入运算符流插入运算符输出出输入入标准准类型型的数据。的数据。(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计基础教程 13 C+ 输入输出 程序设计 基础教程 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内