- 1、本文档共70页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章输入输出流NEW(夏老师)剖析
10.4 字符串流 字符串流则是以内存中用户自定义的字符数组(字符串)为输入输出的对象,因此字符串流又称为内存流。 10.4.1 字符串流的概念 字符串流对象关联的不是文件,而是内存中的一个字符数组,因此不需打开和关闭流对象。 字符串流类包括istrstream、ostrstream和strstream。 10.4.2 字符串流的输出操作 1.字符串输出流的定义 定义字符串输出流,即建立存储所插入数据的数组对象的语句格式为: ostrstream 字符串流对象(字符数组,缓冲区大小n,操作模式); strstream 字符串流对象(字符数组,缓冲区大小n,操作模式); 2.字符串输出流的操作 (1)pcount() 返回当前字符数组中已经插入的字符个数; (2)str() 返回存储在字符数组中的字符串。 例10.12】 字符串流的输出操作 #include iostream #include strstream using namespace std; void main() { char buf[50]; //建立字符串输出流对象,与数组buf关联,缓冲区长50个字节 ostrstream out1(buf,sizeof(buf)); float PI=3.14159 ; out1圆周率为:PI\0; //向字符数组中写入字符型、实型数据 coutbufendl; cout已插入out1.pcount()个字符endl; } 运行程序,输出结果如下: 圆周率为:3.14159 已插入18个字符 10.4.3 字符串流的输入操作 1.字符串输入流的定义 定义字符串输入流,即初始化所创建的字符串输入流对象的语句格式为: istrstream 字符串流对象(字符数组,缓冲区大小n); strstream 字符串流对象(字符数组,缓冲区大小n,ios::in); 2.字符串输入流的操作 一个字符串输入流被定义后,可以调用相应的成员函数进行数据的输入操作。 【例10.13】 字符串流的输入操作 #include iostream #includestrstream using namespace std; void main() { char buf[]=7890 5.4321; int x; double y; istrstream ss(buf); ssxy; cout.setf(ios::fixed); cout.precision(6); coutx+yendl; } 运行程序,输出结果如下: 7895.432100 第10章答案 一·、选择题 1. D 2 . D 3 . C 二、填空题 1. ceer;clog 3. 序列 4. fstream.h 5. 友元 通 知 C++程序设计基础课程考试安排 时间:第13周星期六下午5-6节(2:00-3:50) 地点:D101:1班-2班 D103:3班-4班 D104:5班-6班 D106:7班-8班 规 则 记住:成员函数width(w)和流操纵符setw(w)都只对其后的第一个输出项有效 用成员函数setf或流操纵符setiosflags设置输出格式后,如果要改为同组另一状态,应调用unsetf或resetiosflags先终止 10.3 文件输入输出 1.文件的操作 文件操作分成4步: (1)定义文件流对象 ifstream 文件输入流对象; ofstream 文件输出流对象; fstream 文件输入/出流对象; (2)打开文件 文件流对象.open(磁盘文件名,输入输出模式) 也可以在定义文件流对象时指定文件打开模式,在构造过程中打开该文件。定义方式如下: ifstream 文件流对象(磁盘文件名,输入输出模式); ofstream 文件流对象(磁盘文件名,输入输出模式); fstream 文件流对象(磁盘文件名,输入输出模式); 打开文件是指为文件建立相应的信息区(用来存放文件有关信息)和文件缓冲区(用来暂时存放输入输出数据),同时使文件流对象与文件关联起来。 文件输入输出模式设置值 ios::in(缺省模式) 以读方式打开文件。若文件不存在,则自动建立新文件。这是文件输入流的缺省模式。 ios::out(缺省模式) 以写方式打开文件。若文件已存在,则先删空文件中的数据,然后再向文件写入数据;若文件不存在,则自动建立新文件。这是
文档评论(0)