欢迎来到天天文库
浏览记录
ID:49340854
大小:593.00 KB
页数:52页
时间:2020-02-04
《c++文件流操作.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、程序设计实习输入输出流和文件操作输入输出流流的概念模型C++中与流操作相关的类及其继承关系输入输出流对象:cin,cout,cerr,clog输出流输入流无格式输入输出流操纵算子流格式状态流的概念模型流-可以看作一个无限长的二进制数字序列通过读写指针进行流的读和写(以字节为单位)~10101110~~10101110~将流上的数据读进变量x1010111011100010将y的值写入流yx流的概念模型输出流可以看作一端无限,另一端通过写指针不停地向后写入新内容的单向流,1100011010~写指针流的概念模型输入流可以看作一端无限,另一端通过读指针不停地从流中读取新内容的单向流
2、,读出的内容从流中删去。1100011010~读指针有格式读写和无格式读写字符方式/二进制方式读写有格式读写,以某种数据类型为单位读写例如:读一个整数,写一个浮点数等;无格式读写,以字节为单位读写,不区分其中的内容例如:读20个字节,写50个字节等;缓冲区刷新向输出流中写数据时,通常是先向缓冲区中写,当缓冲区写满时,才真正向输出流写;也可以通过函数在程序中主动将缓冲区内容写入输出流。C++中与流操作相关的类及其继承关系iosistreamostreamifstreamiostreamofstreamfstream标准流对象输入流对象:cin与标准输入设备相连输出流对象:co
3、ut与标准输出设备相连cerr与标准错误输出设备相连非缓冲输出clog与标准错误输出设备相连缓冲输出输出流流插入运算符<>运算符的定义:istream&operator>>(istream&input,A&a){…….retu
4、rninput;}返回的是输入流的引用.可以用如下方法判输入结束:intx;while(cin>>x){…}为何可以while(cin>>x)?参考程序#include#include#includeusingnamespacestd;classCStudent{private:charszName[20];public:CStudent(char*name){strcpy(szName,name);}operatorchar*(){returnszName;}};intmain(){chars[20];CStudentSt
5、u("Tom");strcpy(s,Stu);cout<>s);return0;}应该是istream或其基类里重载了operatorvoid*()输入流成员函数cin.get()读入一个字符(包括空白字符),返回该字符;cin.get(char*buffer,intsize,chardelim=‘’)或者读size–1个字符入buffer,或者遇到‘’;在buffer最后加‘ ’,分隔符留在输入流.cin.getline(char*buffer,intsize,chardelim=‘’)或者读size–1个字符入buffer
6、,或者遇到‘’;在buffer最后加‘ ’,分隔符从流去掉,分隔符也不会放入buffercin.eof()返回输入是否结束标志.输入流其它函数cin.peek();返回下一个字符,但不从流中去掉.putback(charch);将字符ch放回输入流ignore(intnCount=1,intdelim=EOF);从流中删掉最多nCount个字符,遇到EOF时结束。无格式输入输出用read,write进行指定字节数的输入输出constintSIZE=80;charbuffer[SIZE];cin.read(buffer,20);cout.write(buffer,cin.g
7、count());//gcount返回上次读入的字节数cout<流操纵算子整数流的基数:流操纵算子dec,oct,
此文档下载收益归作者所有