- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 使用字符串流类时,必须包含头文件strstrea.h。 1.ostrstream类的使用 (1)构造函数ostrstream::ostrstream该类最常用的构造函数的一般格式为:ostrstream( char* str, int n, int mode = ios::out ); (2)ostrstream::pcount使用格式:int pcount() const; 功能:返回一个数值,表示目前已经输出到字符串流即字符数组中的字符 个数(字节数) 10.6 字符串流 * 2.istrstream类的使用 (1)一参构造函数istrstream( char* str ); 由参数str 指定了一个以\0为结束符的字符串(字符数组),它的“整体字符”将作为“输入源”。 (2)二参构造函数istrstream( char* str, int n ); 由参数str 指定字符数组,它将作为“输入源”,由第二参数n 指出仅使 用str的前n个字符(而不是“整体字符”)。注意: ① 二参构造函数时,并不要求str 中必须具有\0结束符号; ② 若n=0,则假定str 为一个以\0为结束符号的字符串(字符数组)。 10.6 字符串流 * I/O操作状态字是在类ios中定义的,它的各位的状态由如下的标志位(常量)来描述: ios::goodbit=0x00 //流处于正常状态(没设置任何的状态标志位) ios::eofbit=0x01 //输入流结束(到达文件末尾) ios::failbit=0x02 //I/O 操作失败(会使随后的操作也失败) ios::badbit=0x04 //失去了流缓冲区的完整性(流被破坏) 10.7 其他输入输出控制函数 * 相关函数有: int good(); //I/O 流正常(没设置任何的状态标志位)返回非0, 否则返回0 int eof(); //到达了文件末尾(状态字的eofbit 位被置1)则返回非0, 否则返回0 int fail(); //流状态字的failbit、badbit 或hardfail 中任一个位被置1, 则返回非0(意味着随后的操作将失败),否则返回0 int bad(); //流状态字的badbit 或hardfail 位中任一个被置1, 则返回非0(严重错误,流被破坏),否则返回0 int rdstate(); //返回当前I/O 操作状态字 int operator!(); //与函数fail()功能相同 void clear(int ef=0); //无参调用可清除全部出错信息(将状态字的各位均清为0);带参,可人工将某些状态标志位设置 10.7 其他输入输出控制函数 第十章 结束 * 3. fstream::fstream fstream( const char* szName, int nMode, int nProt = filebuf::openprot ); 参数含义和用法与ofstream构造函数处相同。 ? 三. 与创建流类对象相关的三个open函数 ? 1. ofstream::open void open( const char* szName, int nMode = ios::out, int nProt = filebuf::openprot ); 2. ifstream::open void open( const char* szName, int nMode = ios::in, int nProt = filebuf::openprot ); 3. fstream::open void open( const char* szName, int nMode, int nProt = filebuf::openprot ); * 10.4.2 使用插入与提取与算符进行I/O操作 -- 参看书p343 对文件的“读写操作”通常使用预定义的类成员函数来实现(课本10.4.3节介绍),但也可使用继承而来的插入和提取运算符“”和“”来进行,这基于如下的事实: ifstream类由istream类所派生,而i
文档评论(0)