zoukankan      html  css  js  c++  java
  • 坚持c++,真正掌握c++(2)

    在c++中对c中的输入输出进行了扩展,採用了面向对象的设计方法设计了c++中的输入输出(IO)。输入输出依照操作的对象分类可分为:1. 标准IO(对计算机的键盘或者显示器进行读写操作)。2. 文件IO(对计算机中的文件进行读写操作);3. 串IO(对内存中的字符串进行读写格式化操作)。

    以上三种读写分别存在于头文件iostream,fstream,strstream中。

    我们常常称输入输出为输入输出流,之所以称为流。流是内存中连续的以字节为单位的空间。从源流向目的地。流具有状态和相应的操作,流的状态的訪问能够使用bad,fail,eof和good操作来完毕,clear和setstate操作能够用于改变流的状态。

    每一个IO对象都会管理一个缓冲区,用于存储读写的数据。缓冲区会在特定的一些情况下被刷新:(1)程序结束(2)缓冲区满了,在写入下一个值时会被刷新(3)显示的刷新,比如endl(4)每次完毕输入输出时,用unitbuf操纵符设置流的内部状态(5)输入输出流关联;

    在程序设计中,我们会遇到对多个文件的读写的问题:

    string add[4]={"1.dat","2.dat","3.dat","4.dat"};
    for(int i=0;i<4;i++)
    {
         ifstream fin(add[i].c_str());
         ......
    }
    以上代码能够对fin不做close操作。也能够顺利完毕读文件。由于在while循环中要又一次定义fin,所以每次定义的fin对象流的状态都是好的。


    以上的程序也能够直接使用一个流对象完毕,即将fin的定义移动到while循环的外面,这样读文件的话每次在打开新的文件前要首先关闭文件流。假设不是直接读数据的个数的话而是直到读到文件的尾部,则须要在close之后对文件流对象的状态进行clear才干够。


  • 相关阅读:
    在PHP语言中使用JSON
    PHP数组和Json之间的转换
    Mentohust 安装(win7环境)
    PHP采集网页图片并保存至本地
    php 操作数组 (合并,拆分,追加,查找,删除等)
    GitHub的使用
    【word】含章节号的题注编号以阿拉伯数字显示
    【转载】Mozilla5.0的含义
    同一服务器部署多个Tomcat时的端口号修改详情(同时启动两个Tomcat)
    Android Studio配置
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5343948.html
Copyright © 2011-2022 走看看