关于文件读取和写入的问题
我想测试下一个登录的函数,如果初始文件不存在,就建立一个文件,把初始帐号密码写入。如果有文件就一直读取,知道帐号密码匹配,我的代码当帐号密码正确时能够成功,如果帐号密码不正确,它就一直在最后那里循环,跳不出来,可是那里我明明加了判断是否到文件尾的函数。代码如下
#include <stdlib.h>#include <stdio.h>struct login{ int account; int password;};int main(){ long acc; long pass; FILE *fp; login temp; scanf("%ld",&acc); scanf("%ld",&pass); if((fp=fopen("login.dat","rb"))==NULL){ fclose(fp); fp=fopen("login.dat","wb"); login super; super.account=123456;//初始帐号 super.password=111;//初始密码 fwrite(&super,sizeof(login),1,fp); fclose(fp); fp=fopen("login.dat","rb"); } fread(&temp,sizeof(login),1,fp); while(temp.account!=acc||temp.password!=pass){ fread(&temp,sizeof(login),1,fp); if(!feof(fp)){ printf("帐号或密码错误!"); return 0; } } printf("登录成功"); return 1;}