对文件合成器的改造-求大神解决
大神们!这个程序不是很完善,比如:我想在这个程序的开头加段密码,就是用户只要输入正确的密码那就跳出循环执行下面的程序,否则就用不成,也就是进入了循环当中,这个我试了一下,好像不尽人意,哎!都怪我笨,不知道怎么实现这个加密的过程呢!哎!还是少说废话吧,以下是这段程序的源码,希望大神们矫正矫正!呵呵!好了,上码:#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *f_pic, *f_file, *f_finish; //定义3个文件指针变量
char ch,pic_name, file_name, finish_name;//对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"); //这里是程序运行到最后把程序定在哪儿,就是为了不让它哗啦一闪就没了的操作
}
**************************************************************************************************************************************************
!!^_^!! 还请大家帮帮忙!恩................................我会很感激的!!!! http://ctc.qzs.qq.com/ac/b.gif 本帖最后由 liufei_vip 于 2013-10-27 12:12 编辑
char mm;
scanf("%s",mm);
while(strcmp(mm,"123456"))
{
printf("wrong mm\n");
scanf("%s",mm);
}PS;这段代码可能会溢出,但是应该可以解决你的问题。。。
页:
[1]