zoukankan      html  css  js  c++  java
  • C/C++基础----IO库

    • IO对象无拷贝或赋值,通常以引用形式传递。

    IO库条件状态

    strm::iostate

    一种机器相关的类型,提供了表达条件状态的完整功能

    strm::badbit

    用来指出流已经崩溃

    strm::failbit

    用来指出一个IO操作失败了

    strm::eofbit

    用来指出流到达了文件结束

    strm::goodbit

    用来指出流未处于错误状态,此值保证为0

    s.eof()

    若s的eofbit置位,返回true

    s.fail()

    若s的failbit或badbit置位,返回true

    s.bad()

    若s的badbit置位,返回true

    s.good()

    s处于有效状态,则返回true

    s.clear()

    s的所有条件状态位复位,返回void

    s.clear(flags)

    将给定的标志位复位,返回void

    s.setstate(flags)

    将流中对应条件状态为置位,返回void

    s.rdstate()

    返回流s的当前状态,返回值类型为strm::iostate

    缓冲刷新(数据真正写到输出设备或文件)的原因:

    • 程序正常结束
    • 缓冲区满时
    • 操纵符endl、flush、ends
    • 操纵符unitbuf设置流的内部状态,每次输出后都刷新(cout<<unitbuf;  cout<<nonunitbuf;)
    • 当读写被关联的流时,被关联的流会刷新(读cin或写cerr都会导致cout刷新)

    关联—两个重载版本

    cin.tie() 返回指向输出流的指针,如未关联则返回空指针;

    cin.tie(&cout) 将cin关联到cout

    fstream继承自iostream,定义时可以打开名为s的文件

    除了<< 和 >> ,还可以open close getline

    in以读模式打开

    out 以写模式打开

    app 每次写操作均定位到文件末尾

    ate打开文件后立即定位到文件末尾

    trunk  截断文件

    binary 以二进制方式打开IO

    默认out模式打开文件,且截断文件;如不想清空文件内容,需要同时指定app

    string流

    sstream strm(s); //explicit的

    strm.str();  //返回所保存的string拷贝

    strm.str(s); //s拷贝到strm中

    某些工作是对整行进行处理,而其他一些工作是处理行内某个单词时,通常可以使用istringstream

    当我们逐步构造输出希望最后一起打印时,ostringstream很有用。

  • 相关阅读:
    响应式布局
    Fiddler2汉化版使用说明
    nonmember,nonfriend替换member函数
    Java回顾之Spring基础
    dudu,想在cnblogs首页看很久以前的文章不行。
    基于Nios II内核的项目程序为什么越优化越慢?
    学习 easyui:禁用 linkbutton 问题
    Socket编程 (异步通讯,解决Tcp粘包) 3
    .NET:可扩展的单据编号生成器 之 基于缓冲区的顺序号
    淘宝API应用开发
  • 原文地址:https://www.cnblogs.com/logchen/p/9576345.html
Copyright © 2011-2022 走看看