- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 输入数字时产生的错误 过多的字符 没有输入的输入 输入长度的错误 * 常见的文件I/O错误 文件不存在 新文件使用的文件名已经作为现有的文件名 磁盘空间不够 驱动器上没有磁盘 * * 在创建文件流对象时,可以把它与磁盘上的文件关联起来。还可以创建与特定文件没有关联的文件流对象,在程序运行中使用成员函数将其和特定文件建立关联。流与文件的关联关系如图5.6所示。连接为了读写磁盘文件,该文件必须被打开,操作系统将其关联到程序中,并根据设定的方式使用该文件。将文件流关联到具体文件的功能可以由打开函数完成。可以修改与文件流关联的磁盘文件,也可以在不同时间用同一个ofstream对象写入不同的文件。程序不需要文件时,文件应从该流中断开,下面我们讨论文件的打开和关闭操作。 * * prot决定文件的访问方式,取值为: 0 普通文件 1 只读文件 2 隐含文件 3 系统文件 一般情况下,该访问方式使用默认值。 * * 图 a.exed:/a.txt ...... 文件内容 读写位置指针 读写数据后自动移动 读写位置指针 istream类和ostream类 提供成员函数 , 控制读写位置指针的移动, 实现文件的随机读写。 文件刚打开时: 二进制文件的随机读写 0 1 2 3 4 5 n-1 文件指针 10.5.1 文件和流 ios::beg 文件结束 ios::cur ios::end 二进制文件的随机读写 流的状态表示:流的内容、长度和操作位置 二进制文件的随机读写 随机访问流 0 1 2 3 4 5 n-1 ios::beg ios::cur ios::end ios::seek_dir 值: cur 相对于当前读指针所指定的当前位置 beg 相对于流的开始位置 end 相对于流的结尾处 enum ios::seek_dir { beg = 0 ; cur = 1 , end = 2 } ; istream istream :: seekg ( long pos) ; 读指针从流的起始位置向后移动由pos指定字节 istream istream :: seekg ( long off, ios::seek_dir ) ; 读指针从流的seek_dir位置移动 off 指定字节 istream 类操作流读指针的成员函数 10.5.4 二进制文件 long istream :: tellg () ; 返回读指针当前所指位置值 二进制文件的随机读写 例如: istream input ; …… input . seekg ( - 10 , ios :: cur ) ; // 读指针以当前位置为基准,向前移动 10 个字节 beg end cur cur 10.5.4 二进制文件 istream 类操作流读指针的成员函数 二进制文件的随机读写 例如: istream input ; …… beg end cur input . seekg ( 10 , ios :: beg ) ; // 读指针从流的开始位置,向后移动 10 个字节 函数 seekg ( n ) ; 等价 seekg ( n , ios::beg ) ; cur 10.5.4 二进制文件 istream 类操作流读指针的成员函数 二进制文件的随机读写 例如: istream input ; …… beg end cur cur input . seekg ( -10 , ios :: end ) ; // 读指针从流的结尾,向前移动 10 个字节 istream 类操作流读指针的成员函数 二进制文件的随机读写 Eg: istream input ; long pos = input . tellg ( ) ; // 获取当前位置指针 input number ; // 读入一个整数,指针后移 4 字节 …… input . seekg ( pos ) ; // 指针返回原来位置 input number ; // 重读该整数 beg end cur … i-1 i i+1
原创力文档


文档评论(0)