到目前为止我的代码:
#include <stdio.h>
int main(){
int i=0,qtd=0;
char str[40],file[20]="binary.bin";
FILE *fp;
fp=fopen(file, "r+b");
if(fp==NULL){
fp=fopen(file,"w+b");
}
while(fread(str,sizeof(str),1,fp) && qtd<5){
qtd++;
i++;
printf("%s\n", str);
}
if(qtd==5){
fseek(fp,0,SEEK_SET);
}
gets(str);
fwrite(str,sizeof(str),1,fp);
fclose(fp);
return(0);
}
使用此代码,我可以编写5个名称,然后列出它们,但我只能覆盖第一个。我希望能够列出已经在程序中输入的5个姓氏,同时他们一次运行一个,覆盖第一个,然后是第二个,直到我到达最终名称并再次开始覆盖。