⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 文件打包程序.cpp

📁 用c++实现两个文件打包和拆包
💻 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 + -