从文件 C++ 获取整数

getting an integer from a file c++

本文关键字:整数 获取 C++ 文件      更新时间:2023-10-16

如何使用 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我将如何做到这一点??

如果你要用fread读取一个int,你不想使用单独的指针,你想使用该int的地址:

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

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

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

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