C++:IO缓冲区

1. C++每一个流对象都维护一个缓冲区,缓冲区本质上是一个用于存储输入和输出序列的字符数组,并通过三个指针(begin_pointer,next_pointer,end_pointer)描述,缓冲区按刷新类型分为全缓冲,行缓冲和无缓冲.(具体见《C++ 输入输出流与本地化》)

2. 常用的缓冲区函数

函数

作用

int peek()

返回缓冲区下一字符,指针并不后移

void get(char ch)

将缓冲区下一字符取出赋给ch,指针后移

char get()

将缓冲区下一字符取出并返回,指针后移

void putback(char ch)

将之前从流中读取的函数放回到缓冲区并插入到当前指针位置

istream &ignore( streamsize num=1, int delim=EOF )

忽略接下来的num个字符或遇到delim提前结束,delim也被忽略

int sync()

清除与流关联的缓冲区,返回0代表成功,-1代表失败

istream& seekg (streampos pos)

设置输入流指针指向pos的位置,pos为绝对位置

istream& seekg (streamoff off, ios_base::seekdir way)

设置输入流指针指向相对于way偏移off的位置,ios_base::seekdir可以取以下常量:ios::beg(缓冲区开始),ios::cur(当前位置),ios::end(缓冲区结尾)

streampos tellg()

返回指针当前位置

ostream& seekp (streampos pos)

ostream& seekp (streamoff off, ios_base::seekdir way)

与seekg类似,用于输入流对象

streampos tellp()

和tellg类似,用于输出流对象

转载于:https://www.cnblogs.com/reasno/p/4919213.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值