路径恢复回复给非常差
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int dozhuce()
{
char usr[20]="";//注册用户名
char pwq[20]="";//注册密码
printf("请输入注册账号:");
fgets(usr,sizeof(usr),stdin);//从终端获取字符串
usr[strlen(usr)-1]=0//将\n换成\0
printf("请输入注册密码:");
fgets(pwq,sizeof(pwq),stdin);//从终端获取字符串
pwq[strlen(pwq)-1]=0;//将\n换成\0
//将上面的数据写入到文件
//以追加的方式打开文件
FILE *fp=NULL;
if((fp=fopen("./use.txt","a"))==NULL)
{
printf("文件打开失败\n");
return -1;
}
//将账号和密码写入到文件中以空格隔开 账号 密码\n
fprintf(fp,"%s %s\n",usr,pwq);
//关闭函数
fclose(fp);
return 0;
}
int dodenglu()
{
char nusr[20]="";//登录用户名
char npwq[20]="";//登录密码
printf("请输入登录账号");
fgets(nusr,sizeof(nusr),stdin);//从终端输入登录账号
nusr[strlen(nusr)-1]=0;//将\n换成\0
printf("请输入登录密码");
fgets(npwq,sizeof(npwq),stdin);//从终端输入登录账号
npwq[strlen(npwq)-1]=0;//将\n换成\0
//从文件中读取内容进行比较
char buf_u[20]="";//存放文件中的账号
char buf_p[20]="";//存放文件中的密码
//以只读的形式打开文件
FILE *fq=NULL;
if((fq=fopen("./use.txt","r"))==NULL)
{
printf("文件打开失败\n");
return -1;
}
while(1)
{
int res=fscanf(fq,"%s %s",buf_u,buf_p);
if(res==EOF)
{
printf("登录失败\n");
return -1;
}
//判断是否与登录账号和密码匹配
if(strcmp(nusr,buf_u)==0&&strcmp(npwq,buf_p)==0)
{
printf("登录成功\n");
break;
}
}
fclose(fq);
return 0;
}
int main(int argc, const char *argv[])
{
//先做个菜单
int menu=0;
while(1)
{
printf("=========+1.注册+=========");
printf("=========+2.登录+=========");
printf("=========+0.退出+=========");
printf("请输入功能");
scanf("%d",&menu);
getchar();//吸收垃圾字符
//多分支选择
switch(menu)
{
case 1:
{
//dozhuce();
}
break;
case 2:
{
//dodenglu();
}
break;
case 0:exit(0);
default:printf("您输入的功能有误,请重新输入");
}
}
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
FILE *fp = NULL;
// 用于写入新文件的文件指针
FILE *fp_new = NULL;
char buf[40];
// 1. 打开原文件(只读)
fp = fopen("./zly.txt", "r");
if (fp == NULL)
{
printf("打开原文件失败\n");
return -1;
}
printf("成功打开原文件\n");
// 2. 打开新文件(只写,若文件不存在则创建
// 如需追加内容,可将"w"改为"a"
fp_new = fopen("./newzly.txt", "w");
if (fp_new == NULL)
{
printf("打开新文件失败\n");
// 记得关闭已打开的原文件
fclose(fp);
return -1;
}
printf("成功打开新文件\n");
//把源文件内容写入到新文件中
while(1)
{
//每次读取之前清空容器
bzero(buf,sizeof(buf));
//读取字符串
if(fgets(buf,sizeof(buf),fp)==NULL)
{
break;
}
fputs(buf,fp_new);
printf("%s",buf);
}// 4. 关闭文件
fclose(fp);
fclose(fp_new);return 0;
}