/*文件的分割*/ #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) { // sprintf itoa(i,name,10);// i->1-->name-->"1" strcpy(tmp_file, str);// tmp_file ->>"f:\\" strcat(tmp_file,name);// f:\\1 strcat(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; }
文件的分割与合并
原创
©著作权归作者所有:来自51CTO博客作者风生风雨的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
CSV文件太大?教你用最简单的工具分割!
首先,我要介绍的是“一键表格拆分助手”。这是一个由“勤学道人”开发的高性能一键拆分工具,特别适合小白用户。
csv分割 csv分割工具 csv分割拆分工具软件 csv大文件大表格拆分分割工具 -
c语言文件分割与合并
c语言,文件分割与合并
c cpp 文件 分割 合并 -
tr命令文件过滤分割与合并详解
tr命令文件过滤分割与合并tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命
linux shell git 十六进制 删除操作 -
Linux 大文件的分割与合并后缀 ide 版本信息 sed html