主函数文件
#include "login.h"
int main(int argc, const char *argv[])
{
int ch;
while(1)
{
printf("\t1.注册\t2.登录\t3.退出\n");
printf("请输入你的选择:");
scanf("%d",&ch);
getchar();
switch(ch)
{
case 1:
regist();
break;
case 2:
login();
break;
case 3:
exit(EXIT_SUCCESS);
}
}
return 0;
}
注册文件
#include "login.h"
int regist()
{
user reg;
printf("请输入注册账户:");
fgets(reg.name,sizeof(reg.name),stdin);
printf("请输入注册密码:");
fgets(reg.code,sizeof(reg.code),stdin);
FILE *fp = fopen("./user.txt","w");
if(NULL==fp)
{
perror("fopen");
return -1;
}
//使用fprintf函数将账户,密码一起写进文件
fprintf(fp,"%s%s",reg.name,reg.code);
printf("注册成功\n");
fclose(fp);//关闭文件
return 0;
}
登录文件
#include "login.h"
int login()
{
//将文件内的账户密码与输入的对比
user log ,reg;
printf("请输入账户:");
fgets(log.name,sizeof(log.name),stdin);
printf("请输入密码:");
fgets(log.code,sizeof(log.code),stdin);
printf("%s%s",log.name,log.code);
// log.name[strlen(log.name)-1]='\0';
// log.code[strlen(log.code)-1]='\0';
//从文件中读取注册的账户密码与登录的账户密码比对
FILE *fp = fopen("./user.txt","r");
if(NULL==fp)
{
perror("fopen");
return -1;
}
fscanf(fp,"%s%s",reg.name,reg.code);//读取文件字符串
strcat(reg.name,"\n");
strcat(reg.code,"\n");
printf("%s%s",reg.name,reg.code);
//reg.name[strlen(reg.name)]=='\n';
//reg.name[strlen(reg.name)+1]=='\n';
//eg.code[strlen(reg.code)]=='\n';
//reg.code[strlen(reg.code)]=='\n';
if(strcmp(log.name,reg.name)==0&&
strcmp(log.code,reg.code)==0)
{
printf("恭喜你登录成功,可以取钱");
}
else
{
printf("\n黄粱一梦,大梦千秋,实际点,兄弟\n");
}
}
头文件
#ifndef __LOGIN_H__
#define __LOGIN_H__
#include <myhead.h>
typedef struct
{
char name[20];
char code[20];
}user;
int login();
int regist();
#endif
使用fread和fwrite拷贝文件。
#include <myhead.h>
int main(int argc, const char *argv[])
{
//使用fread和fwrite拷贝文件。
FILE *fp1=fopen("./1.txt","r");
if(NULL==fp1)
{
perror("fopen");
return -1;
}
FILE *fp2=fopen("./2.txt","w");
if(NULL==fp2)
{
perror("fopen");
return -1;
}
int a=0,b=0;
char arr[99];
while(1)
{
a = fread(arr,1,sizeof(arr),fp1);
b = fwrite(arr,1,a,fp2);
if(a > b)
{
printf("错误读取\n");
break;
}
if(feof(fp1))
{
printf("结束\n");
break;
}
if(ferror(fp1))
{
printf("文件指针出错\n");
break;
}
}
fclose(fp1);
fclose(fp2);
return 0;
}
思维导图