PPT第9章概述.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 其作用是从输入流中读取n-1个字符,赋给指定的字符数组(或字符指针指向的数组),如果在读取n-1个字符之前遇到指定的终止字符,则提前结束读取。如果读取成功则函数返回非0值(真),如失败(遇文件结束符) 则函数返回0值(假)。 * 输入数字时产生的错误 过多的字符 没有输入的输入 输入长度的错误 * 常见的文件I/O错误 文件不存在 新文件使用的文件名已经作为现有的文件名 磁盘空间不够 驱动器上没有磁盘 * 在创建文件流对象时,可以把它与磁盘上的文件关联起来。还可以创建与特定文件没有关联的文件流对象,在程序运行中使用成员函数将其和特定文件建立关联。流与文件的关联关系如图5.6所示。连接为了读写磁盘文件,该文件必须被打开,操作系统将其关联到程序中,并根据设定的方式使用该文件。将文件流关联到具体文件的功能可以由打开函数完成。可以修改与文件流关联的磁盘文件,也可以在不同时间用同一个ofstream对象写入不同的文件。程序不需要文件时,文件应从该流中断开,下面我们讨论文件的打开和关闭操作。 * 在创建文件流对象时,可以把它与磁盘上的文件关联起来。还可以创建与特定文件没有关联的文件流对象,在程序运行中使用成员函数将其和特定文件建立关联。流与文件的关联关系如图5.6所示。连接为了读写磁盘文件,该文件必须被打开,操作系统将其关联到程序中,并根据设定的方式使用该文件。将文件流关联到具体文件的功能可以由打开函数完成。可以修改与文件流关联的磁盘文件,也可以在不同时间用同一个ofstream对象写入不同的文件。程序不需要文件时,文件应从该流中断开,下面我们讨论文件的打开和关闭操作。 文件流的构造函数和 open ( ) 函数用于打开文件, 析构函数在流对象被删除之前关闭文件 * 文件流的构造函数和 open ( ) 函数用于打开文件, 析构函数在流对象被删除之前关闭文件 * * prot决定文件的访问方式,取值为: 0 普通文件 1 只读文件 2 隐含文件 3 系统文件 一般情况下,该访问方式使用默认值。 * 在打开或关闭文件时,很多原因会造成操作失败。例如,打开函数中外部文件名与磁盘上的某个文件名不匹配,或者找不到相关文件,这些是常见的错误。当创建一个新的文件而磁盘没有足够的空间,文件的打开操作可能失败。 为了保证文件的安全操作,应该对其进行测试。有几种方法可以检测文件是否成功打开,最常用的方法是在条件表达式中使用取反操作符(!)测试流状态, * 文本文件本身没有记录逻辑结构, 通常一个逻辑记录用换行符分隔; 数据项之间可以用空白符、换行符、制表符等分隔。 * * * * 文件指针的初始位置由打开方式指定, 打开文件时指针默认指向开始位置ios::beg, 如果打开文件时指定ios::app或ios::ate,指针指向文件末尾。 每次读写都是从文件指针的当前位置ios::cur开始, 随着数据的读写指针就向后移动。 ostream 类中写入字节数据的成员函数 ostream ostream :: write ( char * buf , int n ) ; 向流插入 buf 对象的由第二个参数指定数目的字节数据 ofstream outf( test.dat) ; char str[10] = “Hello!”; outf.write( str , 10 ) ; int a[10] ={1,2,3,4,5}; for(int i = 0; i 10 ; i ++ ) outf.write( (char *) (a[i]), sizeof(int) ) ; outf.write((reinterpret_cast char* (a) , 10*sizeof(int)); 注意类型转换 9.4 文件流 文件无格式读写函数 有关学生数据的结构Stu,读入一条学生记录: Bool readStudent(Stu student, ifstream fStudent) { fStudeng.read((char*)student, sizeof(Stu)); boo ioFlag = fStudent.good( ); //是否成功读取 retrun ioFlag; } 9.4 文件流 向文件写入一条结构记录Stu aStudent: Ofstream out(stu.dat,ios::binary | ios?::out | ios?::app)?; out.write((char*)aStudent, sizeof(Stu)); //将一条记录写入文件末尾 文件读写

文档评论(0)

119220 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档