C++ fstream读写数组学习与源代码

来源:互联网 发布:新任女教师奈奈java 编辑:程序博客网 时间:2024/06/05 22:53

完成:

对文件进行判断是否存在,并初始化。读取和操作整型数组。


头文件

xxxx.h

#include <iostream>#include <fstream>using namespace std;#define HISTROY_FILE "/home/.文件路径"#define NUM 27class historyFileHandle{public:    historyFileHandle();    void openHistoryFile();    int addDataToFile(int flag);    int deleteDataToFile(int flag);    void saveArrToFilr();    int ShowArr[NUM];       //读取文件中的数组};

xxxx.cpp:

#include "xxxx.h"historyFileHandle::historyFileHandle(){    for(int i=0;i<NUM;i++)    {        ShowArr[i] = -1;        OFFShowArr[i] = i;    }    openHistoryFile();}void historyFileHandle::openHistoryFile(){    fstream fout,fin;    fout.open(HISTROY_FILE,ios::in);    //不存在    if(!fout)    {        fin.open(HISTROY_FILE,ios::out);        if(!fin)        {            cout<<"no_create";            return;        }        fin<<0<<" ";        fin<<1<<" ";        fin<<2<<" ";        fin.close();        ShowArr[0] = 0;        ShowArr[1] = 1;        ShowArr[2] = 2;    }    else    {        int i = 0;        while(!fout.eof())        {            fout>>ShowArr[i];            i++;        }    }}int historyFileHandle::addDataToFile(int flag){    for(int i=0;i<NUM;i++)    {        if(ShowArr[i]<0)        {            ShowArr[i] = flag;            break;        }    }    saveArrToFilr();}int historyFileHandle::deleteDataToFile(int flag){    for(int i=0;i<NUM;i++)    {        if(ShowArr[i] == flag)        {            ShowArr[i] = -1;            break;        }    }    saveArrToFilr();}//将数组保存到文件中void historyFileHandle::saveArrToFilr(){    fstream fin;    fin.open(HISTROY_FILE,ios::out);    if(!fin)    {        cout<<"no_create";        return;    }    for(int i=0; i<NUM; i++)    {        if(ShowArr[i]>=0)        {            fin<<ShowArr[i]<<" ";        }    }    fin.close();}


原创粉丝点击