手动创建一个usr.txt文档,文档中存储用户的名字和密码,格式如下:
账户密码,每个账户密码占一行:
zhangsan 12345
lisi abcd
要求:
a.实现登录功能。b.终端输入账户密码
c.若账户密码均存在,则输出登录成功d.若账户不存在,则输出账户不存在e.若密码错误,则输出密码错误
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
FILE *fp=fopen("./usr.txt","r");
if(fp == NULL)
{
perror("fopen");
return -1;
}
//printf("fopen success\n");
int i,res,flag;
char str1[10]={},str2[20]={};
char name[10],pswd[20];
printf("请输入账户:");
scanf("%s",str1);
printf("请输入密码:");
scanf("%s",str2);
for(i=0;;i++)
{
fscanf(fp,"%s",name);
res=fscanf(fp,"%s",pswd);
if(EOF==res)
break;
if(strcmp(name,str1)==0 )
{
if(strcmp(pswd,str2)==0)
{
printf("---------登录成功---------\n");
return 0;
}
else if(strcmp(pswd,str2)!=0)
{
printf("---------密码错误---------\n");
return 0;
}
}
}
printf("---------用户不存在---------\n");
if(fclose(fp)<0)
{
perror("fclose");
return -1;
}
return 0;
}
//运行结果
linux@linux:~/IO/day1$ ./a.out
请输入账户:张三
请输入密码:123456
---------登录成功---------
linux@linux:~/IO/day1$ ./a.out
请输入账户:张三
请输入密码:123
---------密码错误---------
linux@linux:~/IO/day1$ ./a.out
请输入账户:李四
请输入密码:abcd
---------登录成功---------
linux@linux:~/IO/day1$ ./a.out
请输入账户:嘻嘻
请输入密码:123
---------用户不存在---------