zoukankan      html  css  js  c++  java
  • C++ 之 文件及输入输出操作

    文件操作

    顺序文件 : 一个有限字符构成的顺序字符流
    cpp标准库中:ifstream,ofstream和fstream共3个类用于文件操作一统称为文件流类,类继承树如下。
    在这里插入图片描述

    使用/创建文件的基本流程:

    graph LR; a(打开文件)-->b(读/写文件) b-->c(关闭文件)
    1. 打开文件
      1. 通过指定文件名,建立文件和文件流对象的关联;
      2. 指明文件的使用方式
    2. 读写文件 :利用读/写指钍进行相应位置的操作
    3. 关闭文件

    建立顺序文件

    程序实现 :

    #include <fstream>//包含头文件
    ofstream outFile("clients.dat",ios:out|ios::binary); //打开文件
    

    ofstream(fout; fout. open("test. out", ios:: outlios: binary);
    

    打开并建立文件的选项

    • ios::out 输出到文件,删除原有内容
    • ios:app 输出到文件,保留原有内容,总是在尾部添加
    • ios:binary 以二进制文件格式打开文件

    文件读写指针

    程序实现 :

    ofstream fout("a1.out",ios::app);
    long location=fout.tellp();//取得写指针的位置
    location=10L;fout.seekp(location);//将写指针移动到第10个字节处
    fout.seekp(location,ios:beg);//从头数location
    fout.seekp(location,ios:cur);//从当前位置数location
    fout.seekp(location,ios::end);//从尾部数location
    

    输入输出

    输入流对象:

    • cin与标准输入设备相连

    输出流对象:

    1. cout与标准输出设备相连 可以重定向(到文件)
    2. cerr与标准错误输出设备相连 不可以重定向 无缓冲区直接输出
    3. clog与标准错误输出设备相连 不可以重定向 有缓冲区

    输入输出重定向

    freopen("test.txt","w",stdout);//将标准输出重定向到test.txt文件
    freopen("t.txt","r",stdin);//cin被改为从t.txt中读取数据
    

    istream类的成员函数

    bool eof();//判断输入流是否结束
    int peek();//返由下一个字符,但不从流中去掉
    istream & putback(charc);//将字符ch放回输入流
    istream & ignore(int nCount=1,int delim=EOF);//从流中删掉最多nCount个字符,遇到EOF时结束.
    
    任世事无常,勿忘初心
  • 相关阅读:
    TcpUDP通讯
    hashlib模块和logging模块
    Windows之系统自带截屏快捷键
    Windows之文件夹中打开PowerShell
    scrapy之管道
    爬虫之通讯协议
    爬虫
    jupyter使用
    MongoDB之$
    MongoDB之修改器
  • 原文地址:https://www.cnblogs.com/FlameBlog/p/14715313.html
Copyright © 2011-2022 走看看