题目:
手动创建一个usr.txt文件,其中存储用户的账户密码,一行一个账户密码,中间用空格隔开。例如:
zhangsan aaaa
lisi bbbb
wangwu cccc
需求如下:
1.从终端获取一个账户,密码。判断该账户密码是否正确
2.若账户不存在,则输出账户不存在
3.若账户存在,密码错误,则输出密码错误
4.若账户密码均正确,则输出登录成功。
代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
if(argc<2)
{
return -1;
}
FILE* fp= fopen(argv[1],"r");
char passwd[30]="",name[30]="";
char c;
int flag =0;
while(fscanf(fp,"%s%c%s",name,&c,passwd)!=EOF)
{
if(strcmp(name,argv[2])==0)
{
flag=1;
if(strcmp(passwd,argv[3])==0)
{
flag=2;
break;
}
}
}
switch(flag)
{
case 0:printf("账户不存在\n");break;
case 1:printf("密码错误\n");break;
case 2:printf("登出成功\n");break;
}
return 0;
}
usr.txt:
abcd 1234
aaaa 1111
bbbb 2222
cccc 3333
结果: