1.
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <time.h>
volatile int keepRunning = 1;
void intHandler(int dummy) {
keepRunning = 0;
}
int main() {
signal(SIGINT, intHandler);
FILE *file = fopen("log.txt", "a");
if (file != NULL) {
int count = 1;
while (keepRunning) {
time_t now = time(NULL);
struct tm *tm_info = localtime(&now);
fprintf(file, "%d: %02d-%02d-%02d %02d:%02d:%02d\n", count,
tm_info->tm_year + 1900, tm_info->tm_mon + 1, tm_info->tm_mday,
tm_info->tm_hour, tm_info->tm_min, tm_info->tm_sec);
fflush(file);
count++;
sleep(1);
}
fclose(file);
} else {
printf("Error opening file.\n");
}
return 0;
}
2.
int do_regest()
{
char regest_name[20];
char regest_pwd[20];
printf("请输入注册账号:");
fgets(regest_name, sizeof(regest_name), stdin);
regest_name[strlen(regest_name) -1] = '\0';
printf("请输入注册密码:");
fgets(regest_pwd, sizeof(regest_pwd), stdin);
regest_pwd[strlen(regest_pwd) -1] = '\0';
FILE *fp = NULL;
if((fp = fopen("./usr.txt", "a")) == NULL)
{
perror("fopen error");
return -1;
}
fprintf(fp,"%s %s\n", regest_name, regest_pwd);
fclose(fp);
printf("注册成功\n");
return 0;
}
int do_login()
{
char login_name[20];
char login_pwd[20];
char usr_name[20];
char usr_pwd[20];
printf("请输入登录账号:");
fgets(login_name, sizeof(login_name), stdin);
login_name[strlen(login_name) -1] = '\0';
printf("请输入登录密码:");
fgets(login_pwd, sizeof(login_pwd), stdin);
login_pwd[strlen(login_pwd) -1] = '\0';
FILE *fp = NULL;
if((fp = fopen("./usr.txt", "r")) == NULL)
{
perror("fopen error");
return -1;
}
while(1)
{
fscanf(fp,"%s %s", usr_name, usr_pwd);
if(strcmp(login_name,usr_name)==0 && strcmp(login_pwd, usr_pwd)==0)
{
printf("登录成功\n");
break;
}
if(feof(fp))
{
printf("登录失败\n");
break;
}
}
fclose(fp);
}
int main(int argc, const char *argv[])
{
int menu = -1;
while(1)
{
system("clear");
printf("\t\t======1、注册======\n");
printf("\t\t======2、登录======\n");
printf("\t\t======0、退出======\n");
printf("请输入选项:");
scanf("%d", &menu);
getchar();
switch(menu)
{
case 1:
{
do_regest();
}
break;
case 2:
{
do_login();
}
break;
case 0: goto END;
default:printf("您输入的功能有误请重新输入!!!\n");
}
printf("请输入任意键结束!!!");
while(getchar() != '\n');
}
END:
return 0;
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2843102e4f494e4ba7912c8a842cbcc0.png#pic_center)