无法读取文本文件

时间:2017-10-28 12:51:21

标签: c++ linux

我一直在用C ++编写基本的蛇游戏。我想在文本文件中存储前5个高分,这样我最终可以显示它们。

我只在这里显示相关代码。

代码: -

#include<fstream>
ofstream outfile("HighScore.txt");
ifstream infile("HighScore.txt");

int main()
{
    int a[5]={0},temp;
    infile.clear();
    infile.seekg(0,infile.beg);
    if(infile.is_open())
    {
        for(int i=0;i<=4;i++) infile>>a[i];
        infile.close();
    }
    else cout<<"Unable to open";
    char temp1;
    Setup();
    do
    {
        Draw();
        Input();
        Logic();
        if(gameOver==0)
        {
            cout<<"\x1b[2J\x1b[1;1H"<<flush;
            cout<<"\t\t\t\tSNAKE GAME"<<endl;
            cout<<"\n\n\n\t\tYour score is:"<<score;
            cout<<"\n\n\n\n\t\tDo you want to restart the game?\n\t\t Press y to continue\n\t\t";
            temp1=(char)getch();
            for(int i=4;i>=0;i--)//Used to make sure that the scores remain in a descending order
            {
                if(score>a[i])
                {
                    if(i==4) a[i]=score;
                    else
                    {
                        temp=a[i];
                        a[i]=score;
                        a[i+1]=temp;
                    }
                }
            }
            if(outfile.is_open())//Used to write the high-scores in "HighScore.txt"
            {
                for(int i=0;i<5;i++) outfile<<a[i]<<endl;
            }
            else cout<<"Unable to open";
            outfile.close();
        }
    }

似乎编写文件的代码正常工作,输出始终是顶部的当前分数以及4 0&#39; s。 例如: - 如果我这次得分为5,那么输出就是 五 0 0 0 0

所以根据我的说法,我无法读取文件的当前值,因为数组a中的值始终为0。

[我是新来的,所以如果我的格式或说明不符合标准,我很抱歉]

0 个答案:

没有答案