C++ IO库下的 文件,字符串,流操作

前:本文以零散记录为主,不成内容,不成逻辑

C++为我们定义了不少IO类,大约有三类

头文件 功能
iostream
fstream 文件
sstrem string类

一:

IO类对象没有拷贝和赋值,因此不能直接返回IO类,应该使用引用,而且还不能使用const.

二:

 IO类会有各种属性,c++提供一套类内函数,例如 rdstate()获取流的当前状态, clear(),是所有的条件状态复位,将流的状态设为有效,而 eof , fail , bad ,good ,获得IO类的条件状态 eofbit(达到文件结尾),faileof(io操作失败) ,badeof(流已崩溃),goodeof  (未出现错误)。一个流一旦进入错误状态,之后所有的IO操作都会失败。

三:缓存区:

容许系统将多个操作组合成单一的设备写操作,可以带来很大的性能提升,而导致缓冲刷新的原因有很多:

           1.return 2.缓存已满 3.显式刷新缓存区,endl/flush 4.设置为unitbuf 5.关联流

四:文件流

       文件模式:与c语言类似,有 in (读) ,out (写) ,app(每一次操作前都定位到文件末尾),ate(打开文件后立刻定义到文件末尾),trunc(文件截断),binary(二进制打开) 

,其中 out默认搭配 trunc 模式。

 文件流 fstream的自动构造和析构:对于循环体内中的fstream,局部变量,会在每一个循环步内都要创建和销毁一次。当一个fstream对象离开作用域时,与之关联的文件会自动关闭。

五:string流

     用途:处理单行中的单个单词可以使用string 类

 

posted on 2015-03-28 14:55  独独  阅读(89)  评论(0)    收藏  举报

导航