----------------------------------------------------- |aaa.exe|test1.exe|test2.exe|len2|len1| ----------------------------------------------------- 在文件最后面再加两段数据,分别用来存放test1.exe的文件长度和test2.exe的文件长度。并且固定len2和len1为30字节的长度。这样在aaa.exe得到执行的时候先后面的两个30字节内容,内容就是两个文件的长度,再根据这两个长度就可以准确读取到test1.exe和test1.exe的内容。 看看aaa.exe程序的关键代码: CFile fSource(_pgmptr,CFile::modeRead | CFile::modeNoTruncate); //得到target.exe的文件长度 int iSourceLength = fSource.GetLength(); fSource.Seek(iSourceLength-60,CFile::begin);//移动文件指针到第test2.exe文件的末尾 char buffer[40]; ZeroMemory(buffer,40); fSource.Read(buffer,30);//读取第len2的内容,也就是test2.exe的长度 int iTargetLength = atoi(buffer); fSource.Seek(iSourceLength-iTargetLength-60,CFile::begin);//移动文件指针到test2.exe文件的开头 CFile fTarget("c:\\test2.exe",CFile::modeCreate | CFile::modeWrite | CFile::modeNoTruncate);//创建一个新文件为c:\\test2.exe char *pBuffer = new char[iTargetLength];//分配缓冲区 ZeroMemory(pBuffer,iTargetLength); fSource.Read(pBuffer,iTargetLength);//将第test2.exe文件读到缓冲区 fTarget.Write(pBuffer,iTargetLength);//将缓冲区内容写入c:\test2.exe delete []pBuffer; 好了,现在test2.exe文件已经读出来了,接下来就是要读test1.exe的内容,过程大同小异
|
正在阅读:实例编程:用VC写个文件捆绑工具实例编程:用VC写个文件捆绑工具
2004-02-24 10:14
出处:PConline
责任编辑:linjixiong
键盘也能翻页,试试“← →”键