c语言文件操作之图片+文件“合成器”(详解+源码)

背景

最近看到一个dl,明明是一张图片,但是把图片的后缀名改成rar,这张图片就变成了一个压缩文件,(我去,神操作???秀我一脸)

目标

把自己的小秘密藏到照片里面,需要时,可以随时取出

需要的材料

在这里插入图片描述
001.jpg 要显示的图片
002.zip 要隐藏的文件
照片合成代码.exe(下面有c源码,可以生成)

使用步骤

1,把这3个材料放到同一个文件夹下
2,点开图片和成器.exe,输入相关文件信息(如下图)
在这里插入图片描述
3,按下回车后,会发现多了一个003.jpj(这个就是合成的图片)
在这里插入图片描述
4,退出,查看003.jpg
在这里插入图片描述
5,把后缀名改成rar,再点开
在这里插入图片描述
你的文件可以在这里找到

就这样结束了。。。。

下面是c语言源码

#include<stdio.h>
#include<stdlib.h>
int main()
{
	FILE *f_pic,*f_file,*f_finish;
	char ch,pic_name[20],file_name[20],finish_name[20];
	printf("请输入需要合成的图片和文件的名称:\n");
	printf("图片(加后缀名):");
	scanf("%s",pic_name);
	printf("文件(加后缀名):");
	scanf("%s",file_name);
 	printf("合成为:");
	scanf("%s",finish_name);
	
	if(!(f_pic = fopen(pic_name,"rb")))
	{
		printf("打开%s失败!!!!\n",pic_name);
		return 0;
	}
	if(!(f_file = fopen(file_name,"rb")))
	{
		printf("打开%s失败!!!!\n",file_name);
		return 0;
	}
	if(!(f_finish = fopen(finish_name,"wb")))
	{
		printf("打开%s失败!!!!\n",finish_name);
		return 0;
	}
	while(!(feof(f_pic)))
	{
		ch = fgetc(f_pic);
		fputc(ch,f_finish);	
	}
	fclose(f_pic);
	while(!(feof(f_file)))
	{
		ch = fgetc(f_file);
		fputc(ch,f_finish);	
	}
	fclose(f_file);
	fclose(f_finish);
	system("pause");
}
 

在这里插入图片描述

发布了15 篇原创文章 · 获赞 15 · 访问量 1168

猜你喜欢

转载自blog.csdn.net/weixin_44826485/article/details/103473546