文件的分割与合并
/*文件的分割*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define?NUM?1024?*?1024?*?100
int?main()
{//所需分割的文件路徑FILE?*fr?=?fopen("F:\\PL.exe",?"rb");if?(fr?==?NULL){exit(-1);}char?*buff?=?(char*)malloc(sizeof(char)?*?NUM);if?(buff?==?NULL){exit(-2);}size_t?rs?=?0;FILE?*fw;//?=?fopen("F:\\1.exe",?"wb");//將分割的文件循環存放在目標路徑下char?str[100]?=?"F:\\";????char?tmp_file[100];char?name[100];int?i?=?1;while((rs??=?fread(buff,sizeof(char),NUM,?fr))?>?0){//?sprintfitoa(i,name,10);//????i->1-->name-->"1"strcpy(tmp_file,?str);//?tmp_file?->>"f:\\"strcat(tmp_file,name);//???????f:\\1strcat(tmp_file,?".exe");fw?=?fopen(tmp_file,?"wb");fwrite(buff,sizeof(char)?,rs,?fw);fclose(fw);i++;}fclose(fr); return?0;
}/*文件的合并*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define?NUM?1024*1024*100//?10MB
int?main()
{FILE?*fr1?=?fopen("F:\\1.exe",?"rb");?//分割后的文件路徑FILE?*fr2?=?fopen("F:\\2.exe",?"rb");FILE?*fw?=?fopen("F:\\meger.exe",?"wb");//文件合并后的目標路徑char?*buff?=?(char*)malloc(sizeof(char)?*?NUM);//size_t?rs?=?0;FILE?*arr[]?=?{fr1,fr2};for?(int?i=0;i<2;i++){while((rs?=?fread(buff,sizeof(char),NUM,?arr[i]))?>?0){ fwrite(buff,?sizeof(char),?rs,?fw);}fclose(arr[i]);}fclose(fw);free(buff);return?0;
}
轉載于:https://blog.51cto.com/ffsust/1720151
總結
- 上一篇: 连着好几天做梦梦到老公出轨
- 下一篇: 将链表中m-n范围内的数进行倒序