void CFile_ini_RWDlg::OnButton1()
{int asize,bsize;
CString size;
GetDlgItemText(IDC_EDIT3,size);
asize= atoi(size);
GetDlgItemText(IDC_EDIT4,size);
bsize= atoi(size);
asize=asize*1024;
bsize=bsize*1024;CFile a(strFilePath2, CFile::modeReadWrite|CFile::shareDenyNone);
CFile b(strFilePath1, CFile::modeReadWrite|CFile::shareDenyNone);
a.SeekToEnd();
int bLen=b.GetLength();
int aLen=a.GetLength();
asize=asize-aLen;
bsize=bsize-bLen;
char* akongBuf = new char[asize];
memset(akongBuf,8,asize);
a.Read(akongBuf,asize);
a.Write(akongBuf,asize);a.SeekToEnd();
char* bBuf = new char[bLen];
b.Read(bBuf, bLen);
a.Write(bBuf, bLen);char* bkongBuf = new char[bsize];memset(bkongBuf,8,bsize);
a.Read(akongBuf,asize);
a.Write(akongBuf,asize);
a.SeekToEnd();
delete[] bkongBuf;
delete[] bBuf;
delete[] akongBuf;}
{int asize,bsize;
CString size;
GetDlgItemText(IDC_EDIT3,size);
asize= atoi(size);
GetDlgItemText(IDC_EDIT4,size);
bsize= atoi(size);
asize=asize*1024;
bsize=bsize*1024;CFile a(strFilePath2, CFile::modeReadWrite|CFile::shareDenyNone);
CFile b(strFilePath1, CFile::modeReadWrite|CFile::shareDenyNone);
a.SeekToEnd();
int bLen=b.GetLength();
int aLen=a.GetLength();
asize=asize-aLen;
bsize=bsize-bLen;
char* akongBuf = new char[asize];
memset(akongBuf,8,asize);
a.Read(akongBuf,asize);
a.Write(akongBuf,asize);a.SeekToEnd();
char* bBuf = new char[bLen];
b.Read(bBuf, bLen);
a.Write(bBuf, bLen);char* bkongBuf = new char[bsize];memset(bkongBuf,8,bsize);
a.Read(akongBuf,asize);
a.Write(akongBuf,asize);
a.SeekToEnd();
delete[] bkongBuf;
delete[] bBuf;
delete[] akongBuf;}
bsize=bsize-bLen;
char* akongBuf = new char[asize];分配之前要确保asize=asize-aLen > 0..
你的asize < 0 出现提示内存不足的错误!!