【C++ Primer IO类操作学习总结】

来源:互联网 发布:女朋友女朋友网络电影 编辑:程序博客网 时间:2024/06/05 04:43

1、IO类系统认识

(1)、IO类简介


  (2)、IO类之间的关系


2、IO类的典型的性质

(1)、IO对象无拷贝或赋值

在平常的操作函数中通常以引用或指针方式传递或返回。

因为C++在设计之初就这样设计规定的。

why?

我认为像IO这种资源,是不允许多个对象同时访问,及他们的访问时互斥的;所以就不允许拷贝或复制,以免造成多个对象同时对同一IO资源进行造作。

例如:

iostream &print(iostream &io, fstream *fs){ ...} // 正确,参数和返回以引用或指针形式传递

          iostream   print(iostream io){ ...}   // 错误,参数和返回以拷贝方式传递会发生复制和赋值操作

(2)、IO类的状态操作

流的四种状态:

获取状态的方法:

状态操作:

    操作示例:

    

(3)、缓冲区


3、文件流操作

(1)、三个成员函数


(2)、流指针操作

3)、常见的函数使用

cin输入会忽略空格,回车等,如果不想忽略可加noskipws

  c=cin.get()等价于cin.get(c),可读取空格,回车等字符。

cin.get(char c[ ],int n,char c)读取(n-1)个字符保存到c[ ]数组中,最后一个默认为‘\0’;遇到字符

c则提前结束。未读取的字符,后面可继续读取。

一行如果未读完,则流就会出错。



    getline(cin.str),读取一行字符串


0 0