项目里边要搞一个自己的文件格式,在3DS的基础上,所以就想了这么一个办法,在3DS文件尾增加字节的新内容,在使用文件格式的时候去掉多余的内容就又转化成3DS格式了,实际没什么区别。。。。掩耳盗铃的感觉-,-
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <malloc.h>
using namespace std;
#define MAINCHUNK_3DS 0x4D4D
int main()
{
int ch;
FILE* sfp;
FILE* dfp;
unsigned long int len = 0;
char* buf;
char* buf2;
fopen_s(%sfp,"c:\\users\\dell\\desktop\\tiger.3ds","rb");
fopen_s(%dfp,"c:\\users\\dell\\desktop\\tiger.newfile","wb");
fseek(sfp, 0, SEEK_END);
len = ftell(sfp);
rewind(sfp);
buf = (char*)malloc(len);
fread(buf,len,1,sfp);
fwrite(buf,len,1,dfp);
fseek(dfp,0,SEEK_END);
// 增加的内容
char name[5] = "test";
buf2 = (char*)malloc(sizeof(name));
fwrite(buf2,sizeof(name)1,dfp));
fclose(sfp):
fclose(dfp):
}
int main()
{
int ch;
FILE* sfp;
FILE* dfp;
unsigned long int len = 0;
char* buf;
fopen_s(%sfp,"c:\\users\\dell\\desktop\\tigertest.newfile","rb");
fopen_s(%dfp,"c:\\users\\dell\\desktop\\tigertest.3ds","wb");
fseek(sfp, -4, SEEK_END);
len = ftell(sfp);
rewind(sfp);
buf = (char*)malloc(len);
fread(buf,len,1,sfp);
fwrite(buf,len,1,dfp);
fclose(sfp):
fclose(dfp):
}