两个文件二进制合并问题
看了视频教程用如下代码:#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *f1,*f2,*f3;
char ch;
if((f2=fopen("F:\\2in1\\1.pdf","rb"))==NULL)
{
printf("no F2 this file!");
}
if((f1=fopen("F:\\2in1\\1.PNG","rb"))==NULL)
{
printf("no F1 this file!");
}
if((f3=fopen("F:\\2in1\\2in1.PNG","wb"))==NULL)
{
printf("cant't openthis file!");
}
while(!(feof(f2)))
{
ch=fgetc(f2);
// printf("%x\n",ch);
// system("pause");
fputc(ch,f3);
}
fclose(f2);
while(!(feof(f1)))
{
ch=fgetc(f1);
fputc(ch,f3);
}
fclose(f1);
fclose(f3);
}
进行了了文件合并但是发现和COPY有一点区别 就是第一个文件 结尾到第二个文件开头多了一个FF。不知道怎么来的。 本帖最后由 ppzhu 于 2015-10-18 19:28 编辑
大约就是这个意思
4F 46 0A 是一个文件的结尾
89 50 4E 是第二个文件的开头
使用程序做了合并
4F 46 0A FF 89 50 4E
COPY
4F 46 0A89 50 4E
而其他没有区别 我又仔细看了 一下好像每个文件的 最后用代码合并的都多了一个FF
第一个文件结尾多了一个FF 第二个文件结尾也多了一个FF
请问大家这个FF怎么来的啊?
甲鱼老是做的没有问题啊
页:
[1]