Je voudrais savoir comment, en C, on peut connaitre l'adresse de la FAT car je voudrais faire une recherche d'une variable STR contenant est "TEST".
SYM_ENTRY *SymEntry; unsigned char *pFile; char string[10]; SymEntry = SymFind(NULL,2); while(SymEntry) { if((*HToESI(SymEntry->handle)) == STR_TAG) { memset(string,0,10); string = GetStrnArg(HToESI(SymEntry->handle)); if (!strcmp("TEST",string)) break; } SymEntry = SymFindNext(); } if(SymEntry) printf("Chaine 'TEST' trouvée dans la variable : %s\n",SymEntry->name);
SYM_ENTRY *sym_ptr; unsigned char *ptrFILE; sym_ptr=SymFindPtr($(TEST),0); if(!symptr)return; ptrFILE=HeapDeref(symptr->handle); if(!ptrFILE)return; if(*(ptrFILE+*((unsigned short *)ptrFILE)+1)==STR_TAG) { // Instructions... }
jackiechan91 a écrit :
Moi, je ferais ça, qui est bien plus court :
SYM_ENTRY *sym_ptr; unsigned char *ptrFILE; sym_ptr=SymFindPtr($(TEST),0); if(!symptr)return; ptrFILE=HeapDeref(symptr->handle); if(!ptrFILE)return; if(*(ptrFILE+*((unsigned short *)ptrFILE)+1)==STR_TAG) { // Instructions... }
jackiechan91 a écrit :
Moi, je ferais ça, qui est bien plus court :
SYM_ENTRY *sym_ptr; unsigned char *ptrFILE; sym_ptr=SymFindPtr($(TEST),0); if(!symptr)return; ptrFILE=HeapDeref(symptr->handle); if(!ptrFILE)return; if(*(ptrFILE+*((unsigned short *)ptrFILE)+1)==STR_TAG) { // Instructions... }