首页 > 其他 > 详细

ZOJ 3684 Destroy 树的直径+二分

时间:2014-04-16 11:13:05      阅读:449      评论:0      收藏:0      [点我收藏+]


本来想一直看郝斌老师的《C语言》视频教程可是看到后面发现郝斌老师的一些知识点没讲,例如文件操作,我边看小甲鱼老师的c语言中文件操作的那一部分看了几节后小甲鱼老师教我们做了一个文件合成器,这个文件合成器的功能非常简单,就是将一个压缩文件存放在一张图片中。
原理:运用到了DOS命令中的copy命令的原理

目的将该文件夹中的2.rar文件和1.jpg文件一起保存在3.jpg文件中

原理解释:
1 打开windows自带的DOS系统

bubuko.com,布布扣


2选择合并文件的位置

bubuko.com,布布扣


3查看文件的类型

bubuko.com,布布扣


注: 会发现文件中有一个1.jpg文件和一个2.rar文件


在cmd命令行中查看1.jpg和2.rar:

首先在cmd命令行中输入D:找到文件的位置

bubuko.com,布布扣


然后输入dir显示D盘中的文件

bubuko.com,布布扣


显示D盘中的文件

bubuko.com,布布扣


在cmd命令行中查看copy命令:输入copy /?

bubuko.com,布布扣


执行copy命令 在命令行中输入:copy /b 1.jpg + 2.rar  3.jpg

 bubuko.com,布布扣

观看图片会发现在文件夹中多了一个3.jpg文件且3.jpg的大小等于1.jpg+2.rar

bubuko.com,布布扣


将3.jpg修改成3.rar

bubuko.com,布布扣


打开3.rar后发现里面有1.jpg 和 2.rar

bubuko.com,布布扣


通过C语言中的文件操作也可以实现上述功能
主要用到了C语言中的文件读写函数


程序代码:

#include <stdio.h>
#include <stdlib.h>

void main()
{
	printf("请输入合成文件的文件名和路径:\n");

	char pic[10], txt[10], jpg[10];

	printf("图片:");
	scanf("%s",pic);

	printf("文本:");
	scanf("%s",txt);

	printf("图片:");
	scanf("%s",jpg);

	FILE *fp_pic, *fp_txt, *fp_jpg;

	fp_pic = fopen(pic,"rb");
	fp_txt = fopen(txt,"rb");
	fp_jpg = fopen(jpg,"wb");

	if(NULL == fp_pic)
	{
		printf("不能打开图片文件%s!\n",pic);
		
		exit(0);
	}

	if(NULL == fp_txt)
	{
		printf("不能打开文本文件%s!\n",txt);

		exit(0);
	}


	if(NULL == fp_jpg)
	{
		printf("不能写入文件%s!\n",jpg);

		exit(0);
	}

	char ch;

	while(!feof(fp_pic))
	{
		ch = fgetc(fp_pic);
		fputc(ch,fp_jpg);
	}
	fclose(fp_pic);

	while(!feof(fp_txt))
	{
		ch = fgetc(fp_txt);
		fputc(ch,fp_jpg);
	}
	fclose(fp_txt);

	system("pause");

	system("pause");
}


执行结果:

bubuko.com,布布扣


使用文件合成器:

bubuko.com,布布扣


使用文件合成器前:

bubuko.com,布布扣


使用后

bubuko.com,布布扣

ZOJ 3684 Destroy 树的直径+二分,布布扣,bubuko.com

ZOJ 3684 Destroy 树的直径+二分

原文:http://blog.csdn.net/ooooooooe/article/details/23816373

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!