• C++第十五课 文件


    一、文件概述

    1.文件:文件代表长久存储在外存(如硬盘、磁盘或U盘等)中的数据集合体。C ++程序中,文件的存储空间由字节组成。

    2.分类:

    文本文件:其内每个字节存放的是(字符的)ASCII码(对于汉字,使用双字节编 码)。

    二进制文件:某些或全部字节的内容不是(字符的)ASCII码。不是文本文件的, 就是二进制文件。

    3.C++源程序是文本文件

    在Windows系统中,每一行的尾部存储两个字符“ ”,即回车符和换行符。

    在Unix, Linux系统中,每一行尾部存储一个字符’ ’,即换行符。

    二、C++程序访问文件的方法

    1.#include <fstream> //含文件操作函数的头文件。

    头文件fstream中定义了三个文件流类:

    ifstream类——当仅从文件输入内容时使用

    ofstream类——当仅向文件输出内容时使用

    fstream类——既从文件输入也向文件输出内容时使用

        文件流是以外存文件为输入输出对象的数据流。若要对磁盘文件输入输出, 就必须通过文件流来实现。

        要以磁盘文件为对象进行输入输出,必须定义一个文件流类的对象,通过文 件流对象将数据从内存输出到磁盘文件,或者通过文件流对象从磁盘文件将数据 输入到内存。

    2.ofstream outfile("f1.txt",ios::out); //定义文件流对象,打开磁盘文 件"f1.txt"

    ofstream 文件流类

    outfile 文件流对象

    "f1.txt" 文件路径参数(用于指定文件在外存中的位置)

    ios::out 文件打开方式参数

    (1)相对路径:以可执行程序所在文件夹为基准点的文件路径。

    "data\f1.txt" //位置:执行程序所在文件夹dataf1.txt

    (2)绝对路径:以盘符为基准点的文件路径。

    "d:\data\f1.txt" //位置:d:dataf1.txt

    3.outfile<<a[i]<<" "; //向"f1.txt"输出数据

    4.outfile.close(); //关闭磁盘文件"f1.txt"

    三、对文本文件的操作

    outfile<<与cout<<的区别在于前者输出至文件,后者至屏幕。

    infile>>与cin>>的区别在于前者从文件输入,后者从键盘输入。

    注意:对于文本文件,不支持同时可读可写(ios::in | ios::out)

    四、对二进制文件的操作

    1.用成员函数read和write读写二进制文件。

    istream& read(char *buffer, int len); //指针*buffer指向内存 中一块区域,用于存储读入的内容;len表示读入内容的字节数

    ostream& write(const char * buffer,int len); //指针*buffer指向内存 中一块区域,其中存储的内容将被写入文件;写入内容的字节数

    2.要跳着读/写文件,需控制文件位置指针。可用seekg/seekp函数来向前或向后移动位置指针。

  • 相关阅读:
    13 原型链_继承_this大总结_函数一定是对象,对象不一定是函数
    12 贪吃蛇游戏
    实现wiki访问
    11 第三个阶段js高级_原型
    JZOJ.5257【NOIP2017模拟8.11】小X的佛光
    模板——权值线段树(逆序对)
    LCA模板
    笛卡尔树——神奇的“二叉搜索堆”
    JZOJ.5246【NOIP2017模拟8.8】Trip
    JZOJ.5236【NOIP2017模拟8.7】利普希茨
  • 原文地址:https://www.cnblogs.com/leopotter/p/4999277.html
Copyright © 2020-2023  润新知