17 C++的输入和输出

上传人:豆浆 文档编号:48597956 上传时间:2018-07-17 格式:PPT 页数:18 大小:117.50KB
返回 下载 相关 举报
17 C++的输入和输出_第1页
第1页 / 共18页
17 C++的输入和输出_第2页
第2页 / 共18页
17 C++的输入和输出_第3页
第3页 / 共18页
17 C++的输入和输出_第4页
第4页 / 共18页
17 C++的输入和输出_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《17 C++的输入和输出》由会员分享,可在线阅读,更多相关《17 C++的输入和输出(18页珍藏版)》请在金锄头文库上搜索。

1、C+的输入和输出C+的流C+的流 表示一种数据传递操作。它是 与某一I/O设备相联系的(如键盘、显示器 、磁盘等); 通过使用流类 中定义的方法(成 员函数),就可以利用这些设备完成输入输 出操作.与输入设备(如键盘)相联系的流称为 输入输入 流流,例如 标准输入流cin ;与输出设备(如 显示器)相联系的流称为 输出流输出流,例如标准 输出流cout ;与 输入输出设备(如磁盘) 相联系的流称为 输入输出流输入输出流 。2 23 3一、文件的分类根据文件内容的组织形式,C+将文件分为 文本文件 和 二进制文件 两类:文本文件文本文件的 每个字节存放的是一个ASCII码,代表一个 字符;二进制

2、文件二进制文件 则是把内存中的数据 按其 二进制代码形式,直接写到磁盘文件中存放 起来。文件的输入和输出4 4二、文件流C+中对文件的I/O需要通过 文件流类 ifstream 、ofstream或fstream的对象 来实现。C+程序 若要对文件I/O,则必须包含头文件 fstream .hC+C+中进行文件操作的步骤中进行文件操作的步骤: 创建文件流类对 象, 并打开文件 对文件输入/输出关闭文件 。5 5三、文件的打开与关闭1、打开文件 一般步骤:创建文件流对象f 使用对象f 的 方法open( ) 打开指定的文件. openopen( )( )的的用法:用法: 文件流对象名f . op

3、en (文件名字符串, 打开方式 mode , 访问方式access = 0= 0 ) ; 打开方式mode的含义详见P311表。并且,对于 ifstream流,mode的默认值为ios:in ;对于 ofstream流,mode的默认值为ios:out 访问方式访问方式accessaccess的取值的取值 表示了被访问文件的类表示了被访问文件的类 别,其缺省值别,其缺省值0 0 代表普通文件。代表普通文件。6 62、关闭文件文件操作完毕必须关闭它。关闭文件 是通过 与该文件关联的文件流对象的方法close( ) 实 现的,使用格式:文件流对象名. close( ) ; 例:ifstream

4、infile ;infile . open( “D:( “D: f1.txt” );f1.txt” );infile . close( );7 7四、对文件输入/输出的方法1、向文件输出(写) 的方法 (1)可用于从文件中读入数据 到预定义类型的变 量(或字符数组) 中。格式:输入流对象名 变量名 (2)get( )用法: 输入流对象名. get( )功能功能: : 从输入流对象关联的文件中读入一个从输入流对象关联的文件中读入一个 字节字节( (字符字符) ),并,并返回该字符返回该字符。1111(3)read( )用法: 输入流对象名. read(缓冲区首地址buf , 输入的字节数num)

5、 ;功能: 从输入流对象关联的文件中读入num个 字节的数据,并将它们存入buf指向的内存空 间中.(4)getline( )用法: 输入流对象名. getline(缓冲区首址buf , 输入的字节总数num , 输入的终止符ch) ;功能功能: : 从输入流对象关联的文件中,一次读入从输入流对象关联的文件中,一次读入( ( 一行一行) ) 最多最多numnum个字节的数据,并存入个字节的数据,并存入bufbuf指向指向 的内存空间中。输入过程遇终止符的内存空间中。输入过程遇终止符chch 则则提前结提前结 束;束;chch的缺省值为的缺省值为 nn。 1212五、检测文件输入是否结束用法:

6、输入流对象名. eof( )功能: 判断文件输入是否结束(遇到文件结束 标志);若结束(到达了文件末尾),则它返回 非零整数值;否则,返回0 . 例例: : ifstream in ; ifstream in ; while( while( ! ! in .eof( ) ) in .eof( ) ) 1313例: 依次将一个整数、浮点数和一个字符串 写入二进制文件D:my.dat中, 再分别将它们 读取出来, 并按一定的格式输出到屏幕上。 #include #include void main( ) fstream file ; /创建输入输出文件流类对象 file. open(“d:my.d

7、at“, iosios: :binarybinary | | iosios: :outout ); intint n=26; n=26;double x=13.45;double x=13.45; char s50=“This is a file.“;char s50=“This is a file.“;1414file.write( (char*) file.write( (char*) file.write( s , strlen(s) ); file. put( n ); file. close( );file.open(“d:my.dat“, ios:binary | ios:in);

8、/关闭文件后再打开,文件中的位置指针回到开头文件中的位置指针回到开头 int k;double y; char d50; file. read( (char*) file. read( (char*) file. getline( d , 10000, n ); file.close( ); coutcoutsetw(20)setw(20)kkendlendl; /; /占占2020列列 右靠齐输出右靠齐输出 coutcoutsetw(20)ysetw(20)yendlendl; ; coutcoutsetw(20)dsetw(20)dendlendl; ; 演示程序。15151616定义定义

9、DogDog类类, , 其静态数据成员其静态数据成员total_weighttotal_weight用以记用以记 录程序中录程序中DogDog的的总重量总重量; ; 静态成员函数静态成员函数total_disptotal_disp( ( ) )用以输出用以输出total_weighttotal_weight。请填空。请填空。 class Dogclass Dog double weight; double weight; static double total_weight;static double total_weight;public: Dog(double w) / public: Dog(double w) /构造函数构造函数 weight=w;weight=w; total_weighttotal_weight ; ; 1717 void total_disp( ); ; void Dog:total_disp( ) cout“total weight:“total_weight“ kg“endl; double Dog:total_weight ; void main( ) Dog d1(0.9),d2(0.8); Dog: ; /输出所有狗的总重量 1818

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号