“造地基”的C++ (十二) IO流类库及输入输出

  • 流对象与文件操作
    1. 程序建一个流对象
    2. 指定这个流对象与某个文件对象建立连接
    3. 程序操作流对象
    4. 流对象通过文件系统对连接的文件进行操作

 

  • 提取与插入
    1. 读操作在流数据抽象中被称为(从流中)提取
    2. 写操作被称为(向流中)插入

 

  • 最重要的三个输出流
    1. Ostream
    2. Ofstream
    3. Ostringstream

 

  • 预定义的输出流对象
    1. Cout:标准输出流对象
    2. Cerr:标准错误输出,没有缓冲,发送给他的内容立即被输出
    3. Clog:类似于cerr,但是有缓冲,缓冲区满时被输出

 

  • 构造输出流对象
    1. Ofstream类支持磁盘文件输出
    2. 如果在构造函数中指定一个文件名,当构造这个文件时,该文件是自动打开的
      1. Ofstream myFlie(“filename”);
    3. 可以在调用默认构造函数后使用open成员函数打开文件
      1. Ofstream myFile; //声明一个静态文件输出流对象
      2. myFile.open(“filename”);  //打开文件,使流对象与文件建立关系
    4. 在构造对象或用open打开文件时可以指定模式
      1. Ofstream myFile(“filename”, ios_base::out|ios_base::binary);

 

  • 插入(<<)运算符:为所有标准C++数据类型预先设计的,用于传送字节到一个输出流对象

 

  • 操纵符(maniplator)
    1. 插入运算符与操纵符一起工作:控制输出格式
    2. 很多操纵符都定义在ios_base类中
    3. 控制输出宽度:在流中放入setw操纵符或调用width成员函数为每个项指定输出宽度
    4. Setw和width仅影响紧随其后的输出项,但其他流格式操纵符保持有效直到发生改变
    5. Dec、oct和hex操纵符设置输入和输出的默认进制

 

  • 二进制文件流
    1. 使用ofstream构造函数中的模式参量指定二进制输出模式
    2. 以通常方式构造一个流,然后使用setmode成员函数,在文件打开后改变模式
    3. 通过二进制文件输出流对象完成输出

 

  • 字符串输出流(ostringstream)
    1. 用于构造字符串
    2. 功能
      1. 支持ofstream类的除open、close外的所有操作
      2. Str函数可以返回当前已构造的字符串
    3. 典型应用:将数值转换为字符串

 

  • 最重要的输入流类
    1. Istream类最适合用于顺序文本模式输入。Cin是其实例
    2. Ifstream支持磁盘文件输入
    3. Istringstream

 

  • 字符串输入流
    1. 用于从字符串读取数据
    2. 在构造函数中设置要读取的字符串
    3. 功能:支持ifstream类的除open、close外的所有操作
    4. 典型应用:将字符串转为数值

 

  • 两个重要的输入输出流
    1. 一个iostream对象可以是数据的源或目的
    2. 两个重要的IO流类都是从iostream派生的,它们是fstream和stringstream,这些类继承了前面描述的istream和ostream的功能

 

  • fstream类
    1. Fstream类支持磁盘文件的输入和输出
    2. 如果需要在同一个程序中从一个特定磁盘文件读并写到该磁盘文件,可以构造一个fstream对象
    3. 一个fstream对象是有两个逻辑子流的单个流,两个子流一个用于输入,另一个用于输出

 

  • stringstream类:支持面向字符串的输入和输出,可以用于对同一个字符串的内容交替读写,同样是由两个逻辑子流构成

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值