IOday2作业

#include<myhead.h>

int main(int argc, const char *argv[])
{

	size_t sys_time,old_time;
	FILE* fp=NULL;

	if((fp = fopen("./time.txt","a+"))==NULL)
	{
		perror("fopen");
		return -1;
	}

	struct tm* tp;
	char arr[100]="";
	while(1)
	{
		time(&sys_time);
		if(sys_time != old_time)
		{
			old_time=sys_time;
			tp=localtime(&sys_time);
			int count=1;
			fseek(fp,0,SEEK_SET);

			while(1)
			{

				char* str=fgets(arr,sizeof(arr),fp);
				int len=strlen(arr);
				if(str==NULL)
					break;
				if(arr[len-1]=='\n')
					count++;
			}



				fprintf(fp,"%d:%4d-%02d-%02d %02d:%02d:%02d\n",\
						count,tp->tm_year+1900,tp->tm_mon+1,tp->tm_mday,tp->tm_hour,tp->tm_min,tp->tm_sec);
				fflush(fp);
		}
	}
		fclose(fp);
		return 0;
	}

效果图:

将注册登录功能,重新做一遍

#include<myhead.h>

int do_regest()
{
	char regest_name[20];
	char regest_paw[20];
	printf("请输入注册账号");
	fgets(regest_name,sizeof(regest_name),stdin);
	regest_name[strlen(regest_name)-1]='\0';
	printf("请输入密码账号");
	fgets(regest_paw,sizeof(regest_paw),stdin);
	regest_paw[strlen(regest_paw)-1]='\0';

	FILE* fp = NULL;
	if((fp=fopen("./user","a")) == NULL)
	{
		perror("fopen");
		return -1;
	}

	fprintf(fp,"%s %s\n",regest_name,regest_paw);


	fclose(fp);
	printf("注册成功\n");
	return 0;
}


int do_login()
{
	char use_name[20];
	char use_psw[20];
	char login_name[20];
	char login_psw[20];

	printf("请输入账号");
	fgets(login_name,sizeof(login_name),stdin);
	login_name[strlen(login_name)-1]='\0';
	printf("请输入密码");
	fgets(login_psw,sizeof(login_psw),stdin);
	login_psw[strlen(login_psw)-1]='\0';
	FILE* fp=NULL;
	if((fp = fopen("./user","r"))==NULL)
	{
		perror("fopen");
		return -1;
	}

	while(1)
	{
		fscanf(fp,"%s %s",use_name,use_psw);
		if(strcmp(login_name,use_name)==0&&strcmp(login_psw,use_psw)==0)
		{
			printf("登陆成功\n");
			break;
		}
		if(feof(fp))
		{
			printf("登录失败\n");
			break;
		}

	}

	fclose(fp);
	return 0;
}


int main(int argc, const char *argv[])
{
	int flag=-1;


	while(1)
	{
		system("clear");
		printf("\t\t1.注册\n");
		printf("\t\t2.登录\n");
		printf("\t\t0.退出\n");
		printf("请输入模式:");
		scanf("%d",&flag);
		getchar();
		
		switch(flag)
		{
		case 1:
			do_regest();
			break;
		case 2:
			do_login();
			break;
		case 0:
			//退出
			goto END;
		default:printf("输入错误请重新输入\n");
		
		}
		printf("输入任意键继续,回车结束:");
		while(getchar() != '\n');
	
	}
END:
	return 0;
}

效果图:


使用fread\fwrite完成两个文件的拷贝

#include<myhead.h>

int main(int argc, const char *argv[])
{
	FILE* fp=NULL;
	FILE* fq=NULL;
	//打开复制文件和被复制文件
	if((fp = fopen("./time.c","r"))== NULL)
	{
		perror("fopen");
		return -1;
	}
	if((fq = fopen("./cpy.txt","w"))== NULL)
	{
		perror("fopen");
		return -1;
	}
	//定义中间值数组
	char str[100]="";
	while(1)
	{
		//将被复制文件的内容拷贝到数组中,在用数组传入拷贝文件
		int size=fread(str,1,sizeof(str),fp);
		fwrite(str,size,1,fq);
		//判断文件指针是否到文件结束
		if(feof(fp))
			break;
	}
	//关闭文件
	fclose(fp);
	fclose(fq);
	return 0;
}

效果图:

相关推荐

  1. 作业2.2

    2023-12-05 20:18:07       45 阅读
  2. <span style='color:red;'>2</span>.<span style='color:red;'>2</span><span style='color:red;'>作业</span>

    2.2作业

    2023-12-05 20:18:07      53 阅读
  3. 2.2作业

    2023-12-05 20:18:07       46 阅读
  4. 假期作业 2.2

    2023-12-05 20:18:07       58 阅读
  5. 作业2024/2/2

    2023-12-05 20:18:07       52 阅读
  6. QT<span style='color:red;'>作业</span><span style='color:red;'>2</span>

    QT作业2

    2023-12-05 20:18:07      58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 20:18:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 20:18:07       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 20:18:07       82 阅读
  4. Python语言-面向对象

    2023-12-05 20:18:07       91 阅读

热门阅读

  1. NC56 XML 报文校验出错一例

    2023-12-05 20:18:07       54 阅读
  2. WeakMap

    WeakMap

    2023-12-05 20:18:07      62 阅读
  3. 机器学习(四十九):Mean-Shift 聚类

    2023-12-05 20:18:07       57 阅读
  4. js轮播图示例代码

    2023-12-05 20:18:07       59 阅读