- #include <iostream.h>
- #include <stdio.h>
-
- struct PAK_HEADER
- {
- unsigned int Offset;
- unsigned int Length;
- };
-
- struct PAK_FILE
- {
- char Titel[56];
- unsigned int Offset;
- unsigned int Length;
- };
-
- typedef unsigned char* BYTEADD;
- unsigned int m_NumberOfFiles, m_CurrentFileLength;
-
- int main()
- {
- PAK_HEADER pakH;
- PAK_FILE *pakF;
- FILE *mFile;
-
- // recherche les fichies present dans le pak
-
- mFile = fopen("c:\\test.pak", "rb");
-
- if( mFile == 0 )
- return false;
-
- if( fseek( mFile, 4, SEEK_SET ) )
- return false;
-
- if( ! fread( &pakH, sizeof( pakH ), 1, mFile ) )
- return false;
-
- m_NumberOfFiles = pakH.Length/ 64;
-
- cout << "nombre de fichier dans le PAK : " << m_NumberOfFiles;
-
- pakF = new PAK_FILE[ m_NumberOfFiles ];
-
- if( fseek( mFile, pakH.Offset, SEEK_SET ) )
- return false;
-
- if( ! fread( pakF, pakH.Length , 1, mFile ) )
- return false;
-
- // affiche les fichier trouver avec leur taille et leur position
- unsigned int count;
-
- for(count =0; count <= (m_NumberOfFiles - 1); count++)
- {
- cout << "\n"
- << count
- << ": "
- << pakF[count].Titel
- << " demarre a l'offset : "
- << pakF[count].Offset
- << " et mesure : "
- << pakF[count].Length
- << " bytes";
- }
-
- cout << "\n\n";
- fclose(mFile);
-
- return 0;
- }
#include <iostream.h>
#include <stdio.h>
struct PAK_HEADER
{
unsigned int Offset;
unsigned int Length;
};
struct PAK_FILE
{
char Titel[56];
unsigned int Offset;
unsigned int Length;
};
typedef unsigned char* BYTEADD;
unsigned int m_NumberOfFiles, m_CurrentFileLength;
int main()
{
PAK_HEADER pakH;
PAK_FILE *pakF;
FILE *mFile;
// recherche les fichies present dans le pak
mFile = fopen("c:\\test.pak", "rb");
if( mFile == 0 )
return false;
if( fseek( mFile, 4, SEEK_SET ) )
return false;
if( ! fread( &pakH, sizeof( pakH ), 1, mFile ) )
return false;
m_NumberOfFiles = pakH.Length/ 64;
cout << "nombre de fichier dans le PAK : " << m_NumberOfFiles;
pakF = new PAK_FILE[ m_NumberOfFiles ];
if( fseek( mFile, pakH.Offset, SEEK_SET ) )
return false;
if( ! fread( pakF, pakH.Length , 1, mFile ) )
return false;
// affiche les fichier trouver avec leur taille et leur position
unsigned int count;
for(count =0; count <= (m_NumberOfFiles - 1); count++)
{
cout << "\n"
<< count
<< ": "
<< pakF[count].Titel
<< " demarre a l'offset : "
<< pakF[count].Offset
<< " et mesure : "
<< pakF[count].Length
<< " bytes";
}
cout << "\n\n";
fclose(mFile);
return 0;
}