⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 一个典型的小区消息管理系统
💻 TXT
字号:
status prepare_system_dir(void)
{

	// 准备列车信息资料夹
	build_i_dir(TRAIN_INFO_DIR, NULL);

/////////////////////////////////////////////////////////////////////////////
// 函数功能:	一级路径目录创建函数
//
// 函数参数:	dir_i:第一级目录名
//				filename:NULL:只创建目录;非NULL:在已创建的目录下创建此文件
//
/////////////////////////////////////////////////////////////////////////////
status build_i_dir(char *dir_i, char *filename)
{
	char dir[128];
	FILE *fp;

	strcpy(dir, "md ");
	strcat(dir, dir_i);
	system(dir);

	if (!(NULL == filename))
	{
		strcpy(dir, dir_i);
		strcat(dir, "\\");
		strcat(dir, filename);
		fp = fopen(dir, "wb");
		fclose(fp);
	}

	return OK;
}


	

status load_system_settings(system_info *system_info_pt)
{
	FILE *fp;
	char filepath[MAX_FILE_PATH_LEN];
	
	message(INFO, "正在加载系统配置信息...", NULL);

	// 生成文件路径
	create_i_dir(filepath, SYS_INFO_DIR, SYS_INFO_FILE);
        status create_i_dir(char *finalpath, char *dir_i, char *filename)
{
	strcpy(finalpath, "");
	strcat(finalpath, dir_i);
	strcat(finalpath, "\\");
	strcat(finalpath, filename);

	return OK;
}

	// 检测文件有效性
	if (!check_data(filepath, 0))
	{
		message(ERROR, "从文件加载系统配置信息失败!", C);

		return FAIL;
	}

	// 只读二进制方式打开文件读取信息
	fp = fopen(filepath, "rb"); 
	fread(system_info_pt, sizeof(system_info), 1, fp);
	fclose(fp);		// 打开一个空文件也能读?

	message(INFO, "系统配置信息加载成功。", NULL);

	return OK;
}
status prepare_system_file(void)
{
	build_i_dir(SYS_INFO_DIR, SYS_INFO_FILE);	// 系统信息文件
	build_i_dir(SYS_INFO_DIR, SQ_INFO_FILE);	// 车次信息文件
	build_i_dir(SYS_INFO_DIR, PSNGR_ITEM_FILE);	// 用户信息文件

	return OK;
}
status create_default_system_settings(system_info *system_info_pt)
{
	message(WARN, "正在重置系统配置信息...", NULL);

	// 设置系统状态
	

	// 将创建信息写入文件
	if (save_system_info(system_info_pt))
	{
                   status save_system_info(system_info *system_info_pt)
{
	FILE *fp;
	char filepath[MAX_FILE_PATH_LEN];
	
	message(INFO, "正在更新系统信息...", NULL);

	// 取得文件路径
	create_i_dir(filepath, SYS_INFO_DIR, SYS_INFO_FILE);
        status create_i_dir(char *finalpath, char *dir_i, char *filename)
{
	strcpy(finalpath, "");
	strcat(finalpath, dir_i);
	strcat(finalpath, "\\");
	strcat(finalpath, filename);


	
	fp = fopen(filepath, "rb+");		// 随机读写使用 rb+ 方式打开文件
	fwrite(system_info_pt, sizeof(system_info), 1, fp);
	fclose(fp);

	return OK;
}



		message(INFO, "成功创建默认系统配置信息!", NULL);
	}
	else
	{
		message(ERROR, "创建默认系统配置信息时存储文件出错!", NULL);
		message(WARN, "创建默认系统配置信息失败!", WC);

		return FAIL;
	}

	return OK;
}
status create_default_admin_info(passenger_info *psngr_info_pt,
								 system_info *system_info_pt)
{
	message(WARN, "正在重置默认管理员信息...", NULL);

	build_ii_dir(USER_INFO_DIR, "陆遥", NULL);
/////////////////////////////////////////////////////////////////////////////
// 函数功能:	二级路径目录创建函数
//
// 函数参数:	dir_i:第一级目录名
//				dir_ii:第二级目录名
//				filename:NULL:只创建目录;非NULL:在已创建的目录下创建此文件
//
/////////////////////////////////////////////////////////////////////////////
status build_ii_dir(char *dir_i, char *dir_ii, char *filename)
{
	char dir[128];
	FILE *fp;

	strcpy(dir, "md ");
	strcat(dir, dir_i);
	strcat(dir, "\\");
	strcat(dir, dir_ii);
	system(dir);

	if (!(NULL == filename))
	{
		strcpy(dir, dir_i);
		strcat(dir, "\\");
		strcat(dir, dir_ii);
		strcat(dir, "\\");
		strcat(dir, filename);
		fp = fopen(dir, "wb");
		fclose(fp);
	}

	return OK;
}

	prepare_psngr_dir("陆遥");
/////////////////////////////////////////////////////////////////////////////
status prepare_psngr_dir(char *psngr_id)
{
	build_ii_dir(USER_INFO_DIR, psngr_id, NULL);	// 创建专门的目录

	// 创建空文件以准备写入
	build_ii_dir(USER_INFO_DIR, psngr_id, PSNGR_INFO_FILE);
	build_ii_dir(USER_INFO_DIR, psngr_id, BOOKED_INFO_FILE);
	build_ii_dir(USER_INFO_DIR, psngr_id, MSGBOX_FILE);

	return OK;
}

	strcpy(psngr_info_pt->passenger_id, "陆遥");		// 设置默认管理员名
	strcpy(psngr_info_pt->password, "123");
	strcpy(psngr_info_pt->station_id, "武汉");
	psngr_info_pt->type = 0;

	psngr_info_pt->total_booked_tickets = 0;
	psngr_info_pt->total_booked_train = 0;
	psngr_info_pt->total_cost = 0;
	psngr_info_pt->sysmsg_amount = 0;
	psngr_info_pt->sysmsg_new = 0;

	psngr_info_pt->booked_links.next = NULL;
	psngr_info_pt->sysmsg_links.next = NULL;

	// 注册索引
	register_psngr_info(system_info_pt, psngr_info_pt->passenger_id, 1);

	// 将创建信息写入文件
	if (save_psngr_info(psngr_info_pt))
	{
status save_psngr_info(passenger_info *passenger_info_pt)
{
	FILE *fp;
	char filepath[MAX_FILE_PATH_LEN];
	
	printf("【信息】正在更新用户(%s)信息...\n", passenger_info_pt->passenger_id);

	// 取得文件路径
	create_ii_dir(filepath, USER_INFO_DIR, 
		passenger_info_pt->passenger_id, PSNGR_INFO_FILE);
/////////////////////////////////////////////////////////////////////////////
// 函数功能:	二级路径文件名生成函数
//	
// 函数参数:	dir_i:第一级目录名
//				dir_ii:第二级目录名
//				filename:要操作的文件名
//
/////////////////////////////////////////////////////////////////////////////
status create_ii_dir(char *finalpath, char *dir_i, char *dir_ii, char *filename)
{
	strcpy(finalpath, "");
	strcat(finalpath, dir_i);
	strcat(finalpath, "\\");
	strcat(finalpath, dir_ii);
	strcat(finalpath, "\\");
	strcat(finalpath, filename);

	return OK;
}

	// 检测文件有效性
	if (!check_data(filepath, 1))
	{
		message(ERROR, "更新用户信息时打开文件失败!", WC);

		return FAIL;
	}

	// 文件存储位置的定位及写入
	fp = fopen(filepath, "rb+");		// 随机读写使用 rb+ 方式打开文件
	fwrite(passenger_info_pt, sizeof(passenger_info), 1, fp);
	fclose(fp);

	return OK;
}
		message(INFO, "成功创建默认管理员信息!", NULL);
	}
	else
	{
		message(ERROR, "创建默认管理员信息时存储文件出错!", NULL);
		message(WARN, "创建默认管理员信息失败!", WC);

		return FAIL;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -