zoukankan      html  css  js  c++  java
  • 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类似,用于输出流对象

  • 相关阅读:
    中兴ZTE ZXV10 H618B超级密码
    星际1.08下载绝对能玩
    cs脚本
    关于JIRA4.3.3破解的问题,为什么我的就可以破解成功
    Jquery DataTables学习笔记(一)
    如何利用System.Net.Mail类发送EMAIL
    IE鼠标右键查看源文件失效解决办法
    ServU FTP Server远程/本地提升权限
    Laravel的homestead安装
    编程总结3
  • 原文地址:https://www.cnblogs.com/reasno/p/4919213.html
Copyright © 2011-2022 走看看