我在使用fwrite
and的程序时遇到了一些问题fread -> fread (void*, size_t, size_t, FILE*);
,当设置秒size_t
为任何不同于零的数字时,它不起作用。这是代码;它不以这种方式工作,如果有人可以提供帮助,我将不胜感激。
read
PS:如果我在and函数上替换那个 sc,write
它可以工作,但不像预期的那样。
#include<stdio.h>
#include<stdlib.h>
#define TAM 10
#define sc 5
typedef struct str_score{
float scr;
char nome[TAM];
}score;
int main(){
FILE *arq;
int x;
score a[sc], i={0.00,"-empty-"};
if ((fopen("highscore.bin", "wb+"))==NULL){
perror("Erro na abertura do arquivo\n");
return 1;
}
fwrite(&i,sizeof(score), sc, arq);
fread(a ,sizeof(score), sc, arq);
for (x=0;x<sc;x++){
printf("%s %.2f", a[x].nome,a[x].scr);
}
return 0;
}