用C语言完成数据文件(文本文件和二进制文件)拆分和组装程序;如果文件是5.3MB,拆分5个1MB,1个0。3MB。

来源:百度知道 编辑:UC知道 时间:2024/05/24 11:17:50
好心人帮帮忙

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define szSTR 256
#define szBUF 1048576L

int slice(char * fileName)
{
FILE * fi = fopen(fileName, "rb");
if (!fi) {
fprintf(stderr, "File %s not found.\n", fileName);
return 0;
}//end if
int i = 0; char sName[szSTR] = "";
void * buf = malloc(szBUF);
FILE * fo = 0; long r = 0;
do {
memset(buf, 0, szBUF);
sprintf(sName, "%s.%d", fileName, i++);
r = fread(buf, sizeof(char), szBUF, fi);
if (r < 1) break;
fo = fopen(sName, "wb");
if (!fo) {
fprintf(stderr, "File %s Failed.\n", sName);
break;
}//end if
fwrite(buf, sizeof(char), r, fo);
fclose(fo);
}while(!feof(fi));
fclose(fi);
return 0;
}//end sliice

int assemble(char * fileName)
{