the_Bug
Registered +
- Registriert
- Nov. 2007
- Beiträge
- 44
Moin!
Ich bin dabei just for fun ein Programm zum analysieren von Trackmania GBX Files zu schreiben.
Der Code:
ich hab das ganze mit DevCpp compiled...
An dem Archiv kanns nicht liegen, da es völlig der definition entspricht (http
/en.tm-wiki.org/wiki/GBX).
Die Ausgabe:
GBXInfo by the_Bug:
prints gbx file info
HEADER 1: UNKNOWN ("GBX☺f$="), should be "GBX"
HEADER 2: OK (6)
HEADER 3: OK ("BUCR")
...
Warum kommt bei HEADER1 son Müll raus?
Hope for Answer
Ich bin dabei just for fun ein Programm zum analysieren von Trackmania GBX Files zu schreiben.
Der Code:
Code:
#include
#include
#define _gbx_header "GBX"
#define _gbx_header_2 6
#define _gbx_header_3 "BUCR"
using namespace std;
int main(int argc, char *argv[])
{
char *fpath, gbx_header[sizeof('GBX')],gbx_header_3[sizeof('BUCR')]; //read values
short gbx_header_2;
FILE *filep;
int it;
printf("GBXInfo by the_Bug:\nprints gbx file info\n\n");
if(argc!=2)
{
printf(" wrong argument count...%d\n usage: GBXInfo ",argc);
getchar();
return 1;
}
fpath=argv[1];
filep=fopen(fpath,"r+");
if(filep==NULL)
{
printf(" unable to open file %s",fpath);
getchar();
return 2;
}
fread(&gbx_header,1,3,filep);
switch(strcmp(gbx_header,_gbx_header))
{
case 0 : printf(" HEADER 1: OK (\"GBX\")\n");
break;
default : printf(" HEADER 1: UNKNOWN (\"%s\"), should be \"GBX\"\n",gbx_header);
}
fread(&gbx_header_2,2,1,filep);
switch(gbx_header_2==_gbx_header_2)
{
case 1 : printf(" HEADER 2: OK (6)\n");
break;
default : printf(" HEADER 2: UNKNOWN (%d), should be \"6\"\n",gbx_header_2);
}
fread(&gbx_header_3,1,4,filep);
switch(gbx_header_2==_gbx_header_2)
{
case 1 : printf(" HEADER 3: OK (\"BUCR\")\n");
break;
default : printf(" HEADER 3: UNKNOWN (%s), should be \"BUCR\"\n",gbx_header_3);
}
getchar();
}
ich hab das ganze mit DevCpp compiled...
An dem Archiv kanns nicht liegen, da es völlig der definition entspricht (http
/en.tm-wiki.org/wiki/GBX).Die Ausgabe:
GBXInfo by the_Bug:
prints gbx file info
HEADER 1: UNKNOWN ("GBX☺f$="), should be "GBX"
HEADER 2: OK (6)
HEADER 3: OK ("BUCR")
...
Warum kommt bei HEADER1 son Müll raus?
Hope for Answer