- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章_输入输出流_03
字符串流 通过ostrstream类的使用,可将不同类型的信息转换为字符串,并存放在(输出到)一个用户设定的字符数组中;而通过istrstream类的使用,则可将用户字符数组中的字符串取出(读入),而后反向转换为各种变量的内部形式。 字符串流类对象并不对应于一个具体的物理设备,而是将内存中的字符数组看成是一个逻辑设备,并通过“借用”对文件进行操作的各种运算符和函数,最终完成上述所谓的信息转换工作 Database Information System Lab * 字符串流 使用字符串流类时,必须包含头文件strstream.h ostrstream类的使用 构造函数ostrstream::ostrstream该类最常用的构造函数的一般格式为:ostrstream( char* str, int n, int mode = ios::out ); 函数ostrstream::pcount的使用格式为: int pcount() const; 功能:返回一个数值,表示目前已经输出到字符串流即字符数组中的字符个数(字节数) Database Information System Lab * 字符串流 istrstream类的使用 一参构造函数istrstream( char* str ); 由参数str 指定了一个以‘\0’为结束符的字符串(字符数组),它的“整体字符”将作为“输入源”。 Database Information System Lab * 字符串流 istrstream类的使用 二参构造函数istrstream( char* str, int n ); 由参数str 指定字符数组,它将作为“输入源”,由第二参数n 指出仅使用str的前n个字符(而不是“整体字符”)。 二参构造函数时,并不要求str 中必须具有‘\0’结束符号; 若n=0,则假定str 为一个以‘\0’为结束符号的字符串(字符数组)。 Database Information System Lab * 第10章 输入输出流 C++流类库 1 插入与提取运算符重载 2 输入/输出格式控制 3 磁盘文件的输入与输出 4 * Database Information System Lab 字符串流 5 其他输入输出控制函数 6 其他输入输出控制函数 I/O操作状态字是在类ios中定义的,它的各位的状态由如下的标志位(常量)来描述: ios::goodbit=0x00 //流处于正常状态(没设置任何的状态标志位) ios::eofbit=0x01 //输入流结束(到达文件末尾) ios::failbit=0x02 //I/O 操作失败(会使随后的操作也失败) ios::badbit=0x04 //失去了流缓冲区的完整性(流被破坏) Database Information System Lab * 其他输入输出控制函数 int good(); I/O 流正常(没设置任何的状态标志位)返回非0,否则返回0 int eof(); 到达了文件末尾(状态字的eofbit 位被置1)则返回非0,否则返回0 int fail(); 流状态字的failbit、badbit 或hardfail 中任一个位被置1, 则返回非0(意味着随后的操作将失败),否则返回0 Database Information System Lab * 其他输入输出控制函数 int bad(); 流状态字的badbit 或hardfail 位中任一个被置1,则返回非0(严重错误,流被破坏),否则返回0 int rdstate(); 返回当前I/O操作状态字 int operator!(); 与函数fail()功能相同 Database Information System Lab * 其他输入输出控制函数 void clear(int ef=0); 无参调用可清除全部出错信息(将状态字的各位均清为0);带参,可人工将某些状态标志位设置 Database Information System Lab * * * 类成员函数操作文件流对象 coutendl; fin.close(); } 程序执行后的显示结果如下: Input string: File operating -- using put and get, OK! 12345 -------------------------------------------------- File operating -- using put and get, OK! 12345 Database Information System Lab * 类成员函数操作文件流对象 【例10.6】 使用类成员函数ge
文档评论(0)