c++中的istream和ostream流

c++中的istream和ostream流

ID:21340138

大小:56.53 KB

页数:4页

时间:2018-10-21

c++中的istream和ostream流_第1页
c++中的istream和ostream流_第2页
c++中的istream和ostream流_第3页
c++中的istream和ostream流_第4页
资源描述:

《c++中的istream和ostream流》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、istream/ostream流的基本概念C++中的输入方法类和输出方法类都继承自IOS基类,见下图:输入和输出操作分别由输入流istream和输出流ostream提供。iostream继承自istream和ostream,允许双向的输入/输出操作。二、iostream标准库的IO对象iostream标准库定义了四个IO对象:1.cin-代表标准输入的istream类型对象;2.cout-代表标准输出的ostream类型对象;3.cerr-代表标准错误的ostream类型对象,通常用来输出警告和错误信息;4.clog-代表标准错误的ostream类型对象,用来产生程序执行的一般信息。一般情

2、况下,系统将这些对象与执行窗口联系起来。在大多数系统下,可以利用重定向,将这些流与所选择的文件联系起来。cout、cerr、clog三者的区别:1.cout经过缓冲后输出,默认输出到标准输出设备(显示器)上,可以被重定向;2.cerr不经过缓冲而直接输出,用于迅速输出错误信息,默认输出到标准输出上。由于不被缓冲,错误消息直接发到显示器。一般不被重定向。3.clog是cerr的缓冲版本。cout、cerr的重定向:(C++标准中cerr不能被重定向,但是多数编译器都支持cerr的重定向)使用rdbuf()函数可以对cout和cerr进行重新定向,代码如下:ofstreamofs("test.tx

3、t");streambuf*pOutBuf=cout.rdbuf(ofs.rdbuf());streambuf*pErrBuf=cerr.rdbuf(ofs.rdbuf());cout<<"noerror"<

4、st的内存中;2.get()  “>>”操作符会丢弃遇到的空白(空格、制表符、换行、回车等),而get不会。 get函数有三种重载: a.intget();  从输入流中读取一个字符,返回该字符的int值,遇到文件结束符时,返回EOF; b.istream&get(char&ch); 从输入流中读取一个字符,存储在ch中; c.istream&get(char*dst,streamsizesize,chardelimiter=''); 从输入流中读取最多size-1个字符,放入首地址为dst的内存中,会在末尾加''。遇到delimiter时终止读取,delimiter会留在输入流中。3

5、.getline() istream&getline(char*dst,streamsizesize,chardelimiter=''); 与get函数的第三个版本类似,不同之处在于getline会读取delimiter然后把它丢弃。4.ignore() istream&ignore(streamsizen=1,intdel=EOF); 跳过输入流中n个字符,遇到终止符提前结束(此时跳过包括终止符在内的若干字符),此时终止符仍留在流内。5.putback() istream&putback(charch); 把上一次通过get或getline取得的字符再放回输入流中。6.peek() in

6、tpeek(); 检查输入流中的下一个字符,它不会删除该字符,字符指针也不会移动。7.gcount() streamsizegcount(); 返回最后一个非格式化方法(get/getline/ignore/read)读取的字符数。 注:>>不是非格式化方法。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。