私は作成したゲームを持っています。高得点を読み込んで保存する関数を実装したいと思います。最初にテキストファイルがない場合(私の場合はhighscore.txt
)、一度作成したファイルに0を出力します。負荷がかかっている場合は、以前のゲームのプレイからハイスコアをロードします。私はこれについてどうやって行くのですか?ここでファイルから読み込んで保存するC++ハイスコア機能
は私のコードです:
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はすでにファイルにあったものを上書きするようだと、あなたが取るべき空白
これは私にとってCによく似ています。また、何が問題なのですか? – Thomas
if(FPtr == NULL)からif(FPtr!= NULL)に条件を変更する可能性があります。さて、実際の問題と疑問は何ですか? – mloskot