0

如何使用 fread fwrite 从文件中读取数字 这是我的代码

char *buff[1];
int highscore;
FILE *FPtr;
FPtr = fopen("highscore.txt","w+");
if(FPtr != NULL){
    fread(buff,sizeof(buff),1, FPtr);

}
if(buff == NULL){
     fprintf (FPtr, "%d" , 10);
     fclose(FPtr);
}

因此,在它创建文件并将 10 打印到文件中的初始运行之后,我想读取文件,然后打印出 10 我将如何去做这个?

4

1 回答 1

0

如果您要阅读intwith fread,您不想使用单独的指针,您想使用 that 的地址int

int highscore;

fread(&highscore, sizeof(highscore), 1, score_file);

为了匹配这一点,当你写作时,你想使用fwrite

int highscore;

fwrite(&highscore, sizeof(highscore), 1, score_file);

但是请注意,该文件是不可移植的——尝试(例如)在一台机器上写入它并在另一台机器上读取它可能会产生严重错误的结果。即使用不同的选项重新编译你的代码也可能改变程序对文件格式的隐含想法(例如,从 32 位编译到 64 位编译很容易破坏事情)。

于 2012-04-26T22:16:12.447 回答