写一个usr.txt文档,文档中每一行的格式为:姓名 密码 例如:
zhangsan 123456
lisi abcdef
任务:
要求从终端输入账户,密码;
与文件中的账户密码比较
如果账户不存在,则输出用户不存在
如果账户存在,密码错误,则输出密码错误
如果账户密码均正确,输出登录成功;
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char name[20],pass[10];
printf("请输入用户名:\n");
scanf("%s",name);
printf("请输入密码:\n");
scanf("%s",pass);
//打开文件
FILE *fp=fopen("./user.txt","r");
if(NULL==fp)
{
perror("fopen");
return -1;
}
char namef[20];
char passf[10];
int res;
while(1)
{
res = fscanf(fp,"%s %s",namef,passf);
if(strcmp(name,namef)==0)
{
if(strcmp(pass,passf)!=0)
{
printf("密码错误\n");
break;
}
else
{
printf("登陆成功\n");
break;
}
}
else if(res==EOF)
{
printf("账户不存在\n");
break;
}
}
fclose(fp);
return 0;
}
用fgetc和fputc实现一个文件的拷贝,例如将a.c中的内容拷贝到b.c中
拷贝完毕后 可以用diff指令判断 两个文件是否相同: diff a.c b.c
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
//打开文件1
FILE *fp_r=fopen("./1.c","r");
if(NULL==fp_r)
{
perror("fopen");
return -1;
}
//打开文件2
FILE *fp_w=fopen("./2.c","w");
if(NULL==fp_w)
{
perror("fopen");
return -1;
}
char c = 0;
while(1)
{
c= fgetc(fp_r);
if(EOF==c)
{
break;
}
fputc(c,fp_w);
}
fclose(fp_r);
fclose(fp_w);
return 0;
}