- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 在程序rewerr.cpp中,通过检查整个流对象的返回值来检测在I/O操作中是否有错误。 if(!is) //error occurred 并且使用ios 错误状态标志就可以找出关于文件I/O错误的更明确信息。 见例:ferrors.cpp * 5.7 使用成员函数的文件I/O 到目前为止,我们都是让main()函数来处理文件I/O的细节,当使用更复杂的类时,就会把文件I/O操作作为类的成员函数。 见例rewobj.cpp rewobj.cpp中,类person有两个函数diskOut(), diskIn(), 允许person对象自己写入文件并且从文件读出。 * 6. 用户自定义的类型的输入与输出 * C++语言的I/O流库的一个很重要的特性是能够支持新的数据类型——用户自定义的类型的输入和输出。 这样就允许自定义的数据类型,和基本类型一样,可以用cin, cou来操作。如创建了类student的对象 John,就可以使用如下的语句来显示它: cout‘\n John: ’John; 实现这种功能的方式是通过重载输出运算符和重载输入运算符 * 6.1 输入输出运算符重载 重载输出运算符和输入运算符的方式与重载其他运算符类似。 输出运算符重载的格式如下: friend ostream operator (ostream os,classtype cs); 或声明为类的成员函数: ostream operator (ostream os); * 重载函数具有两个参数,一个是ostream类的引用,另一个是用户自定义的类的引用,该函数的返回也是一个ostream类的引用,这样可以保证“ ”或者“ ”的连续使用。 见例:englio.cpp * 类似的, 输出运算符重载的格式如下: friend istream operator (istream os,classtype cs); 或声明为类的成员函数: istream operator (istream os); 重载函数也有两个参数,一个是istream类的引用,另一个是用户自定义的类的引用,该函数的返回也是一个istream类的引用。 * 3.输入与输出类 * 3.1 istream类 istream类由ios派生,执行指定的输入操作。 * 类istream的函数 函数 用途 所有基本类格式化读入 get(ch) 读入一个字符到ch中 get(str) 读入字符串到数组str中,直到遇到’\n’ get(str,MAX) 读入字符到数组str中,直到遇到MAX个字符 get(str,DELIM) 读入字符到数组str中, 直到遇到分界符’\n’,把它保存 在流中 get(str,MAX,DELIM) 读入字符到数组str中,直到经过MAX个字符或遇到分 界符DELIM, 把它保存在流中 getline(str,MAX,DELIM) 读入字符到数组str中,直到经过MAX个字符或遇到分 界符DELIM, 读入分界符 putback(ch) 插入读入的最后字符到输入流中 ignore(MAX,DELIM) 读入并丢弃最多MAX个字符,直到遇到DELIM peek(ch) 读入一个字符,把它保留在流中 cout=gcount() 返回前面调用get(),getline,read()所读到的字符数 read(str,MAX) 处理文件,读入最多MAX个字符到str, 直到EOF seekg() 设置从文件开始位置的指针偏移距离(字节数) seekg(pos,seek_dir) 设置从文件开始位置的指针偏移距离(字节 数),seek_dir可以是ios::be, ios::cur, ios::end pos=tellg(pos) 返回从文件开始位置的指针偏移距离(字节数) * 3.2 ostream 类 类ostream处理输出操作 函数 用途 所有基本类型的格式化插入 put(ch) 插入字符ch到流中 flush() 刷新缓冲区 write(str,SIZE) 输出长度为SIZE的str seekp(position) 设置从文件开始位置的指针偏移距 离(字节数) seekp(position,seek_dir) 设置从文件开始位置的指针偏移距离(字 节数),seek_dir可以是ios::beg, ios::cur,ios::end; pos=tellp() 返回从文件开始位置的指针偏移距离(字节数) * 4. 流的错误检测 * 流的错误状态包含在类ios的enum成员中//st
原创力文档


文档评论(0)