int signin()
{
int flag = 1;
char name[20];
char password[20];
printf("请输入账号:>\n");
scanf("%s", name);
printf("请输入密码:>\n");
scanf("%s", password);
FILE * fp;//创建文件指针
struct Account account;
if ((fp = fopen("account.text","r+")) == NULL)
{
printf("登陆失败!账号不存在!\n");
return 0;
}
fread(&account, sizeof(account), 1, fp);//从fp中读取数据到结构体中
while (!feof(fp)) //文件遍历
{
if (!strcmp(account.name, name) && !strcmp(account.password, password))
{
flag = 0;//登陆成功返回0
strcpy(signname, account.name);//记录当前登陆账号
strcpy(signpassword, account.password);
fclose(fp);
return(flag);
}
fread(&account, sizeof(account), 1, fp);//从fp中读取数据到结构体中
}
fclose(fp);
return(flag);
}
stuff.text文件中的内容为
结果:
调试了一下发现while直接就没进去,问题到底出在哪呀?