c语言文件读写字符流及字节流,C++中输入输出流及文件流操作笔记

本文详细介绍了C++中的文件读写操作,包括流的控制,如iostream库的使用,以及cin、cout、cerr、clog的功能。文章还探讨了类继承关系,如ios、istream、ostream和iostream之间的关系,以及ifstream、ofstream和fstream的用途。此外,文章提供了关于cin、cout的实用技巧和示例,如缓冲区管理、字符和字符串的读写。最后,文章讨论了二进制文件的读写操作,并给出了实例。
摘要由CSDN通过智能技术生成

1、流的控制

a2152b251a4990bc052f236dfb0f1442.png

iomanip在使用格式化I/O时应包含此头文件。

stdiostream用于混合使用C和C + +的I/O机制时,例如想将C程序转变为C++程序

2、类继承关系

f35f28887de5e7850caae496dd469fdc.png

ios是抽象基类,由它派生出istream类和ostream类, iostream类支持输入输出操作,iostream类是从istream类和ostream类通过多重继承而派生的类

类ifstream继承了类istream,类ofstream继承了类ostream,类fstream继承了 类iostream

iostream头文件中4种流对象

对象

含义

对应设备

对应的类

c语言中相应的标准文件

cin

标准输入流

键盘

istream_withassign

stdin

cout

标准输出流

屏幕

ostream_withassign

stdout

cerr

标准错误流

屏幕

ostream_withassign

stderr

clog

标准错误流

屏幕

ostream_withassign

stderr

cout补充

1、用“cout<

并根据其类型选择调用与之匹配的运算符重载函数。这个过程都是自动的,用户不必干预。

如果在C语言中用prinf函数输出不同类型的数据,必须分别指定相应的输出格式符,十分麻烦,而且容易出错

2、cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插 人一个endl时,

不论缓冲区是否已满,都立即输出流中所有数据,然后插入一个换行符, 并刷新流(清空缓冲区)。

注意如果插人一个换行符”\n“(如cout<

3、在iostream中只对"<>"运算符用于标准类型数据的输入输出进行了重载,但未对用户声明的类型数据的输入输出 进行重载。

如果用户声明了新的类型,并希望用"<>"运算符对其进行输入输出,按照重运算符重载来做。

cout 流通常是传送到显示器输出,但也可以被重定向 输出到磁盘文件,而cerr流中的信息只能在显示器输出

cerr是不经过缓冲区,直接向显示器上输出有关信息,而clog中的信息存放在缓冲区中,缓冲区满后或遇endl时向显示器输出

3、标准输入流 cin

重点掌握的函数

cin.get()                 //读入一个字符并返回它的值

cin.get(一个参数)  //读入一个字符并把它存储在ch

cin.get(两个参数)  //可以读取字符串

cin.get(三个参数)  //可以读字符串

cin.getline()

cin.ignore()         

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值