1.实现登录功能。自定义一个usr.txt,手动输入账户密码,格式如下:账户 密码
例如: zhangsan 12345
lisi abcde
wangwu abc123
需求如下:
从终端获取账户密码,与文件中的账户密码比较
若终端输入的账户不存在,则输出账户不存在
若终端输入的账户存在,但是密码不正确,则输出密码错误
若账户密码均正确,则输出登录成功
#include <stdio.h>
int main(int argc, const char *argv[])
{
FILE* p=fopen("./usr.txt","r");
if(NULL==p)
{
perror("fopen");
return -1;
}
char a[20]="";
char b[20]="",c[20]="",d[20]="";
printf("请输入账号\n");
scanf("%s",a);
printf("请输入密码\n");
scanf("%s",b);
while(fscanf(p,"%s %s",c,d)==2)
{
if(a!=c)
{
printf("账号不存在");
break;
}
else if(b!=d)
{
printf("密码错误");
break;
}
else
{
printf("登录成功");
}
}
fclose(p);
return 0;
}
2、计算一个文件的大小,请封装成函数
int lenth_a()
{
FILE* p=fopen("./usr.txt","r");
if(NULL==p)
{
perror("fopen");
return -1;
}
int count=0;
while(1)
{
if(EOF==fgetc(fp))
{
break;
}
count++;
}
fclose(p);
return count;
}
3.用fgets和fputs实现文件拷贝
#include <stdio.h>
int main(int argc, const char *argv[])
{
FILE* p=fopen("./1.txt","r");
if(NULL==p)
{
perror("fopen");
return -1;
}
FILE* p2=fopen("./2.txt","w");
if(NULL==p2)
{
perror("fopen");
return -1;
}
char arr[50]="";
//读取
while(fgets(arr,sizeof(arr),p)!=NULL)
{
c=fgetc(p);
if(EOF==c)
{
break;
}
fputc(c,p2);
}
fclose(p);
fclose(p2);
return 0;
}