鱼C论坛

 找回密码
 立即注册
查看: 3736|回复: 16

C视频61文件合成的例子,合不成!

[复制链接]
发表于 2011-10-8 23:29:57 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ZPCG 于 2011-10-9 17:34 编辑

1、按代码输入两个 x.rar (357.69 KB, 下载次数: 0) psu.jpg 文件,可合成后在新生成的第三个文件里,文件是变大了,但打开文件还是只有一个,另一个没看到。求解释!
2、可以实现不生成第三个新文件,而把两个中的其中一个覆盖成合成后的文件吗?
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. void main()
  4. {
  5. FILE *m, *n, *mn;
  6. char ch, filename_1[20], filename_2[20], filename_3[20];

  7. printf("Please input the filename_1: ");
  8. scanf("%s", filename_1);

  9. printf("Please input the filename_2: ");
  10. scanf("%s", filename_2);

  11. printf("Please input the filename_3: ");
  12. scanf("%s", filename_3);

  13. if(!(m = fopen(filename_1, "rb")))
  14. {
  15. printf("open the filename_1 error!\n");
  16. return;
  17. }


  18. if(!(n = fopen(filename_2, "rb")) )
  19. {
  20. printf("open the filename_2 error!\n");
  21. return;
  22. }

  23. if(!(mn = fopen(filename_3, "wb")) )
  24. {
  25. printf("open the filename_3 error!\n");
  26. return;
  27. }

  28. while(!feof(n))
  29. {
  30. ch = fgetc(n);
  31. fputc(ch, mn);
  32. }
  33. fclose(n);
  34. while(!feof(m))
  35. {
  36. ch = fgetc(m);
  37. fputc(ch, mn);
  38. }
  39. printf("\n writher success!\n");
  40. system("pause");
  41. fclose(m);

  42. }
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-10-9 00:30:24 | 显示全部楼层
顶贴,求大家解决
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 00:45:49 | 显示全部楼层

合成成功了,合成的最后文件不是一开就有两个文件,,,,
合成的文件后缀名时  *.jpg对吧  就这样打开是张图片,,,,你把它的后缀名改成*.rar就是另外一个文件了啊,,

至于你的第二个问题,把两个文件合成到其中一个去,,,,,我的提示是把*.rar和*.jpg合成后的文件就为原来是*.jpg

也就是把*.rar追加到*.jpg文件的后面

代码:
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. void main()
  4. {
  5.         FILE *m, *n;
  6.         char ch, filename_1[20], filename_2[20];
  7.         
  8.         printf("Please input the filename_1: ");        //注意这里输入的是以rar结尾的文件
  9.         scanf("%s", filename_1);
  10.         
  11.         printf("Please input the filename_2: ");        //这里是jpg文件
  12.         scanf("%s", filename_2);
  13.         
  14.         
  15.         if(!(m = fopen(filename_1, "rb")))
  16.         {
  17.                 printf("open the filename_1 error!\n");
  18.                 return;
  19.         }
  20.         
  21.         
  22.         if(!(n = fopen(filename_2, "ab+")) )            //这里意为:把rar文件以二进制形式追加写到jpg文件后面         
  23.         {
  24.                 printf("open the filename_2 error!\n");
  25.                 return;
  26.         }
  27.         

  28.         while(!feof(m))                                  //这里意为:把rar文件以二进制形式追加写到jpg文件后面      
  29.         {
  30.                 ch = fgetc(m);
  31.                 fputc(ch, n);
  32.         }
  33.         fclose(n);
  34.         
  35.         printf("\n writher success!\n");
  36.         system("pause");
  37.         fclose(m);
  38.         
  39. }
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 00:46:56 | 显示全部楼层
唉,睡觉了......
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-10-9 01:48:17 | 显示全部楼层

RE: C视频61文件合成的例子,合不成!


不是的,你说的改下文件名我懂,我是先输rar的文件名,再输入jpg,合成新的一个rar文件,结果rar的文件变大了,打开后却没jpg的文件,只看到一个原有的rar文件
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 06:25:43 | 显示全部楼层
本帖最后由 yipwing 于 2011-10-9 06:29 编辑
ZPCG 发表于 2011-10-9 01:48
不是的,你说的改下文件名我懂,我是先输rar的文件名,再输入jpg,合成新的一个rar文件,结果rar的文件变 ...

本来就是看不见的,因为这个本来就是用jpg来隐藏rar文件。。

jpg文件是用来双击查看的,改了后缀名后是用来打开隐藏在JPG里面的文件。。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 12:24:21 | 显示全部楼层
本帖最后由 Y.H 于 2011-10-9 12:27 编辑
ZPCG 发表于 2011-10-9 01:48
不是的,你说的改下文件名我懂,我是先输rar的文件名,再输入jpg,合成新的一个rar文件,结果rar的文件变 ...

你肯定是误解了这个合成工具的最初的想法了,,,,,,'

你这样把他们合成为一个rar文件,,的确可以合成,,,,但不是把jpg文件放到rar文件中所以你打开rar文件是看不到jpg的,,,
想要看到jpg文件估计你的改名为*.jpg   ,然而事实证明你把jpg和rar合成为一个rar文件,,而这个rar文件如果改为jpg文件的话,这张图片就是坏的看不了.


就如楼上所说,,,我估计做这个最初是为了用jpg隐藏一些见不得人的文件,...如:种子??..........
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 12:26:05 | 显示全部楼层
Y.H 发表于 2011-10-9 12:24
你肯定是误解了这个合成工具的最初的想法了,,,,,,'

你这样把他们合成为一个rar文件,,的确可以合成,,,, ...

其实这个很简单的。。用DOS命令也可以,一个COPY命令就搞定了。。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 12:28:34 | 显示全部楼层
嗯 copy /b *.jpg+*.rar *.jpg
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 12:30:23 | 显示全部楼层
Y.H 发表于 2011-10-9 12:28
嗯 copy /b *.jpg+*.rar *.jpg

呵呵,的确挺简单。。

话说,你现在C语言学完了么?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 12:32:31 | 显示全部楼层
嗯 基础算是玩了,,,但是还有些不是很牢固,,,,所以边学API的同时,还要慢慢的把C在扎实扎实......多看看C和C指针    C缺陷和陷阱
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 12:39:50 | 显示全部楼层
Y.H 发表于 2011-10-9 12:32
嗯 基础算是玩了,,,但是还有些不是很牢固,,,,所以边学API的同时,还要慢慢的把C在扎实扎实......多看看C和C指 ...

我现在在看小甲鱼的汇编。。以前有点基础,不过都是自学的。VC方面的话,只是有点经验和体会,MFC太脓肿了。。不太适合学习用。。
现在写Windows程序都是SDK的。。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-10-9 17:28:04 | 显示全部楼层
yipwing 发表于 2011-10-9 12:39
我现在在看小甲鱼的汇编。。以前有点基础,不过都是自学的。VC方面的话,只是有点经验和体会,MFC太脓肿了 ...

未命名.jpg
忍不住了吧,出轨了吧,
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 18:25:02 | 显示全部楼层
ZPCG 发表于 2011-10-9 17:28
忍不住了吧,出轨了吧,

我QQ上没这些消息。。。你肯定是哪里弄错了。。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-10-9 19:15:03 | 显示全部楼层
yipwing 发表于 2011-10-9 18:25
我QQ上没这些消息。。。你肯定是哪里弄错了。。

搞错了,是y.h的
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-9 19:28:29 | 显示全部楼层

。。。
嘎嘎。。C我已经学完了,等小甲鱼出 数据结构的时候在深入的学习。。。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-10 11:54:07 | 显示全部楼层
C还没开始 正在汇编
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-8 21:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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