/*******************************************统计文件行数和字数**********************************/
#include <myhead.h>
void hang(char *p)//统计行数
{
FILE *fp;
if((fp=fopen(p,"r"))==NULL)
{
perror("fopen error");
return ;
}
char buf;
int count =0;
while((buf=fgetc(fp))!=EOF)
{
if(buf=='\n')
{
count++;
}
}
fclose(fp);
printf("文件有%d行\n",count);
}void all(char *p)//统计字数
{
FILE *fp;
if((fp=fopen(p,"r"))==NULL)
{
perror("fopen error");
return ;
}
char buf;
int count =0;
while((buf=fgetc(fp))!=EOF)
{
count++;
}
fclose(fp);
printf("文件大小为%d\n",count);
}int main(int argc,char *argv[])
{
if(argc != 2)
{
printf("输入有误\n");
return -1;
}
char *p = argv[1];
all(p);
hang(p);
return 0;
}
/*******************************************注册登陆功能***************************************/
#include <myhead.h>
void regist()
{
char zczh[128];
char zcmm[128];
printf("输入账号:");
scanf("%s",zczh);
printf("输入密码:");
scanf("%s",zcmm);
FILE *fp;
if((fp=fopen("./password.txt","a"))==NULL)
{
perror("fopen error");
return ;
}
//存入文件
fprintf(fp,"%s %s\n",zczh,zcmm);
fclose(fp);
printf("注册成功\n");}
void login()
{
char dlzh[128];
char dlmm[128];
printf("账号:");
scanf("%s",dlzh);
while(getchar()!=10);
printf("密码:");
scanf("%s",dlmm);
while(getchar()!=10);//进行匹配
char username[128];
char passwd[128];FILE *fp;
if((fp=fopen("./password.txt","r"))==NULL)
{
perror("fopen error");
return ;
}//读取数据
while(1)
{
fscanf(fp,"%s %s",username,passwd);
if(strcmp(username,dlzh)!=0)
{
printf("没有该用户\n");
return ;
}
else if(strcmp(username,dlzh)==0&&strcmp(passwd,dlmm)!=0)
{
printf("密码错误\n");
return ;
}
else if(strcmp(username,dlzh)==0&&strcmp(passwd,dlmm)==0)
{
printf("登录成功\n");
return ;
}
}
}int main(int argc, const char *argv[])
{
while(1)
{
printf("-----1.注册-----\n");
printf("-----2.登录-----\n");
printf("-----3.退出-----\n");
printf("输入功能:");
int menu;
scanf("%d",&menu);
while(getchar()!=10);
switch(menu)
{
case 1:
regist();
break;
case 2:
login();
break;
case 3:
exit(0);
break;
default:
printf("输入有误\n");
break;
}
}
return 0;
}