#include <stdio.h>
#include<malloc.h>
#define IN
#define OUT
// 获取文件大小
int FileSize(IN char *file)
{
FILE *fil;
fil = fopen(file,"rb");
fseek(fil,0L,SEEK_END);
int filesize = ftell(fil);
fseek(fil,0,0);
return filesize;
}
// 读取文件
int ReadFileData(IN char *fileName, OUT char *filedata)
{
FILE *fpIN;
int fileSizes = FileSize(fileName);
fpIN = fopen(fileName,"rb");
fread(filedata,1,fileSizes,fpIN);
fclose(fpIN);
}
// 写入文件
int WriteToFile(char *filedata, int size, OUT char *outFileName)
{
FILE *fpOUT;
fpOUT = fopen(outFileName,"w+");
fwrite(filedata,1,size,fpOUT);
fclose(fpOUT);
}
int main()
{
char *origin_file = "file.mp4";
int orgfilesize = FileSize(origin_file); // 获取文件的大小
char *file_data=malloc(orgfilesize); // 分配文件大小的内存
ReadFileData(origin_file, file_data); // 读取文件
char *outFile = "outfile.mp4";
WriteToFile(file_data,orgfilesize,outFile); // 写出文件
return 0;
}