FILE *dataScore;
    dataScore = fopen(fileName.dat, "w");
    fprintf(dataScore,"%s:%d\n",currentUser,score);
    fclose(dataScore);

文件在打印到文件的行上崩溃。我认为这是由于用户名引起的,但我可能是错的。提前致谢。将currentUser设置为02heasam并将得分设置为20。

最佳答案

看起来很疯狂...

尝试这种方式:

int score=20;

int main(void){

    char* currentUser = "02heasam";

    FILE *dataScore;
    dataScore = fopen("fileName.dat", "w");

    fprintf(dataScore,"%s:%d\n",currentUser,score);
    fclose(dataScore);

}

一些解释:
  • 用需要strcpy左右的字符串填充char数组。这里不需要!
  • 顺序可能很重要(使用前声明)
  • 开头文字“xxx”将自动以结尾的0字节终止-切记不要忘记这一点!
  • 10-08 19:50