从文件c ++高分函数加载和保存

时间:2012-04-29 12:33:32

标签: c++

我有一个我创造的游戏。我想实现一个加载和保存高分的功能。首先,当没有文本文件(在我的情况下为highscore.txt)时,一旦创建,我想将0打印到文件。如果它在加载时我希望它加载之前游戏的高分。我该怎么做呢?

这是我的代码:

void filewrite(){

    int n;

    FILE *FPtr;
    FPtr = fopen("highscore.txt","w+");//open file
    if (FPtr == NULL){
    fprintf (FPtr, "%d" , highscore);
    rewind(FPtr);
    }
    fscanf(FPtr,"%d",&n);//scan file for integer


    if (n < score){
        if(highscore < score ){
            if(end==true){
                fprintf (FPtr, "%d" , score);//print the score to file if it is higher than the score already there
                rewind(FPtr);//rewind the file, so pointer starts at begining
                fscanf(FPtr,"%d",&highscore);//scan file for int
            }
        }
    }

    fclose(FPtr);//close pointer to file

}

fopen似乎已经覆盖了文件中的内容并将其留空

1 个答案:

答案 0 :(得分:0)

您应该采取的步骤是:

  • 尝试打开文件进行阅读。
  • 如果失败则打开写入,写入0,然后打开进行阅读。
  • 读取文件中的值并根据需要进行测试。