在什么地方?没找到啊,,我自己还编了一个,真是浪费资源。
#include "stdio.h"
#include "stdlib.h"
int main(int argc, char *argv[])
{
FILE *in1, *in2, *out;
unsigned char in1_data[256],in2_data[256];
unsigned long in1_id,in2_id;
int i,flag;
if (argc!=4)
{
printf("Syntax: %s infile1 infile2 outfile\n",argv[0]);
return 1;
}
if ((in1=fopen(argv[1],"rb"))==NULL)
{
printf("Open file %s error!",argv[1]);
return 1;
}
if ((in2=fopen(argv[2],"rb"))==NULL)
{printf("Open file %s error!",argv[2]);
fclose(in1);
return 1;
}
if ((out=fopen(argv[3],"wb"))==NULL)
{printf("Open file %s error!",argv[3]);
fclose(in1);
fclose(in2);
return 1;
}
fread(in1_data,256,1,in1);
for(i=1,in1_id=0;i<=10;i++) in1_id=in1_id*10+(in1_data[i+1]-48);
fread(in2_data,256,1,in2);
for(i=1,in2_id=0;i<=10;i++) in2_id=in2_id*10+(in2_data[i+1]-48);
if (feof(in1)||feof(in2))
{
printf("\nAt least one file is emtpy!");
fclose(in1);
fclose(in2);
fclose(out);
return 1;
}
flag=0; //both not reach end
while(flag==0)
{
if (in1_id < in2_id)
{
fwrite(in1_data,256,1,out);
fread(in1_data,256,1,in1);
for(i=1,in1_id=0;i<=10;i++) in1_id=in1_id*10+(in1_data[i+1]-48);
if (feof(in1)) flag=1; //in1 reach end
}
else
{
fwrite(in2_data,256,1,out);
fread(in2_data,256,1,in2);
for(i=1,in2_id=0;i<=10;i++) in2_id=in2_id*10+(in2_data[i+1]-48);
if (feof(in2)) flag=2; //in2 reach end
}
}
if (flag==1) //in1 reach end
{
while (feof(in2)==0)
{
fwrite(in2_data,256,1,out);
fread(in2_data,256,1,in2);
}
}
else
{
while (feof(in1)==0)
{
fwrite(in1_data,256,1,out);
fread(in1_data,256,1,in1);
}
}
fclose(in1);
fclose(in2);
fclose(out);
return 0;
}
【 在 czz (只爱陌生人☆Kitty Lai) 的大作中提到: 】
: FB3.0中有现成的remake工具,自己下下去后看看就明白了.
--
FROM 166.111.148.12