📄 文件打包程序.cpp
字号:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main()
{FILE *fp,*fp1,*fp2;
char filename[2][20],file[20];
int i;
long n1,n2;
unsigned char ch;
char flag[5],a[20];
printf("---------------------文件打包---------------------\n");
/*文件名输入*/
printf("请输入需要打包的两个文件名:\n");
printf("第一个文件名:");
gets(filename[0]);
printf("第二个文件名:");
gets(filename[1]);
strcpy(file,filename[0]);
i=0;
while(file[i]!='.')
i++;
file[i]=NULL;
strcat(file,".bin");
fp1=fopen(filename[0],"rb");
fp2=fopen(filename[1],"rb");
if(fp1==NULL||fp2==NULL)
{ printf("打包失败:至少有一个文件不存在!\n");
exit(0);
}
/*文件1写入*/
fp=fopen(file,"wb");
strcpy(flag,"bind");
fwrite(flag,5,1,fp);
fwrite(filename[0],20,1,fp);
n1=0;
ch=fgetc(fp1);
while(!feof(fp1))
{n1++;
ch=fgetc(fp1);
}
fwrite(&n1,sizeof(n1),1,fp);
rewind(fp1);
ch=fgetc(fp1);
while(!feof(fp1))
{fputc(ch,fp);
ch=fgetc(fp1);
}
fclose(fp1);
remove(filename[0]);
/*文件2写入*/
fwrite(filename[1],20,1,fp);
n2=0;
ch=fgetc(fp2);
while(!feof(fp2))
{ n2++;
ch=fgetc(fp2);
}
fwrite(&n2,sizeof(n2),1,fp);
rewind(fp2);
ch=fgetc(fp2);
while(!feof(fp2))
{fputc(ch,fp);
ch=fgetc(fp2);
}
fclose(fp2);
remove(filename[1]);
fclose(fp);
printf("文件打包成功!\n打包文件为:%s!\n",file);
getchar();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -