//
// check.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
#include <windows.h>
#include <fstream>
#include<iostream>
#include<windows.h>
using namespace std;
#include "md5.h"
void update();
void record();
struct inf //用户存储的信息结构
{
char uid[50]; //用户名
char password[100]; //密码
};
inf infor[300]; //最多有300个用户
int i,n=0; //全局变量n,用于表示是目前系统中用户数,目前是五个
FILE *p;;
void init()
{
char uid[50],password[50];
fstream file;
file.open("d:\\lib.txt",ios::in);
if(!file);
else
{
while(file>>uid>>password) //将文件中的uid、password赋值给结构体
{
strcpy(infor[n].uid,uid);
strcpy(infor[n].password,password);
//cout<<infor[n].uid<<" "<<infor[n].password<<" "<<endl; //读出原来文件的uid、password
n++;
}
}
file.close();
}
int main()
{
init();
char uid[10]={'\0'},password[100]={'\0'} ;
FILE *fp;
fp=fopen("d:\\id.txt","r");
fscanf(fp,"%s",uid);
FILE *fp1;
fp1=fopen("d:\\pwd.txt","r");
fscanf(fp1,"%s",password);
for(i=0;i<n;i++) //循环逐一匹配寻找用户名
{
if(strcmp(infor[i].uid,uid)==0)
{
if(strcmp(MD5String(password),infor[i].password)==0)
{
MessageBox(NULL,TEXT("认证通过!"),TEXT("提示"),MB_OK | MB_SYSTEMMODAL);
record();
p=fopen("d:\\log.txt","a+") ;
char buf[ ]="user check succeed\n\n";
fwrite(uid,1, sizeof(uid), p);
fwrite(buf, 1,sizeof(buf), p);
fclose(p);
printf("\n");
break;
}
//认证失败
else
{
MessageBox(NULL,TEXT("认证失败!"),TEXT("提示"),MB_OK | MB_SYSTEMMODAL);
record();
p=fopen("d:\\log.txt","a+") ;
char buf[ ]="user check failed\n\n";
fwrite(uid,1, sizeof(uid), p);
fwrite(buf, 1,sizeof(buf), p);
fclose(p);
break;
}
}
}
if(i==n)
{
MessageBox(NULL,TEXT("该用户名不存在!"),TEXT("提示"),MB_OK | MB_SYSTEMMODAL);
record();
p=fopen("d:\\log.txt","a+") ;
char buf[ ]="user check failed\n\n";
fwrite(uid,1, sizeof(uid), p);
fwrite(buf, 1,sizeof(buf), p);
fclose(p);
}
}
void record()
{
FILE *fp;
time_t t;
struct tm *st;
char buffer[1024];
int index=0;
fp=fopen("d:\\log.txt","r");
if (fp!=NULL)
{
while(!feof(fp))
fgets(buffer,1024,fp);
//sscanf(buffer,"%d",&index);
//index++;
fclose(fp);
}
fp=fopen("d:\\log.txt","a");
t=time(NULL);
st=localtime(&t);
fprintf(fp," %d-%d-%d %2d:%2d:%2d\n",st->tm_year+1900,st->tm_mon+1,st->tm_mday,st->tm_hour,st->tm_min,st->tm_sec);
index++;
fflush(NULL);
}
在这里插入代码片