鱼C论坛

 找回密码
 立即注册
查看: 2681|回复: 1

对文件合成器的改造-求大神解决

[复制链接]
发表于 2013-10-27 11:35:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大神们!这个程序不是很完善,比如:我想在这个程序的开头加段密码,就是用户只要输入正确的密码那就跳出循环执行下面的程序,否则就用不成,也就是进入了循环当中,这个我试了一下,好像不尽人意,哎!都怪我笨,不知道怎么实现这个加密的过程呢!哎!还是少说废话吧,以下是这段程序的源码,希望大神们矫正矫正!呵呵!好了,上码:

#include <stdio.h>
#include <stdlib.h>
void main()
{


FILE *f_pic, *f_file, *f_finish;                 //定义3个文件指针变量
char ch,pic_name[20], file_name[20], finish_name[20];//对3个文件命名所需的空间

    printf("*************** <change the world by programe> *****************\n\n");
printf("-------------图片文件合成器,快来试试吧!^_^!-----------------\n\n\n\n");

printf("哈哈!!输入需要合成的图片和文件的名称吧 !!^&^!!: \n");
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("Cannot open the picture %s !", pic_name);  //那么就打印提示信息,最后终止程序
  return;
}

if( !(f_file = fopen(file_name, "rb")))      //打开二进制文件
{
  printf("Cannot open the file %s !", file_name);
  return;
}

if( !(f_finish = fopen(finish_name, "wb")))    //打开将要写入的文件,并且可以以二进制的形式写入
{
  printf("Cannot open the file %s !", finish_name);
  return;
}

while( !(feof(f_pic)))     //这里是说f_pic所指向的内容如果没结束的话,那就继续循环,其中feof();为
{                          //判断一个文件是否结束的函数
  ch = fgetc(f_pic);     //获得指针f_pic所指向的内容,并把它赋给ch,其中fgetc();是读取函数也就是获取
  fputc(ch, f_finish);   //把获取的字符写入到f_finish的这个文件中,其中fputc();是写入函数
}
fclose(f_pic);             //最后擦屁股,关掉f_pic这个文件

while( !(feof(f_file)))      //同上,一样的,这里我就不一一说了,呵呵  !!!^_^!!!
{
  ch = fgetc(f_file);
  fputc(ch, f_finish);
}
fclose(f_file);            //擦屁股,关闭文件
fclose(f_finish);           //再擦屁股,呵呵!!^&^!!
printf("\n\n");
    printf("恭喜你!哈哈哈哈哈!文件成功合成  !!^_^!!\n");
printf("\n");
system("pause");                  //这里是程序运行到最后把程序定在哪儿,就是为了不让它哗啦一闪就没了的操作

}
**************************************************************************************************************************************************
!!^_^!! 还请大家帮帮忙!  恩................................我会很感激的!!!!

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-27 12:08:58 | 显示全部楼层
本帖最后由 liufei_vip 于 2013-10-27 12:12 编辑
char mm[200];
scanf("%s",mm);
while(strcmp(mm,"123456"))
{
     printf("wrong mm\n");
     scanf("%s",mm);
}
PS;这段代码可能会溢出,但是应该可以解决你的问题。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 19:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表