l0st3d
Messages postés205Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention13 novembre 2009
-
5 juin 2008 à 00:09
l0st3d
Messages postés205Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention13 novembre 2009
-
5 juin 2008 à 00:34
Bonjour à tous, je débute dans le language C et j'ai un petit problème.
Voici la fonction problèmatique
int FormatFromPrimal()
{
int scanCode = 1;
char Detector[3];
printf("[core] FormatFromPrimal called\n");
while(scanCode < PRIMAL_MEMORY_LENGHT)
{
Detector[1] = PRIMAL_MEMORY_DATA[scanCode];
Detector[2] = PRIMAL_MEMORY_DATA[scanCode+1];
Detector[3] = PRIMAL_MEMORY_DATA[scanCode+2];
printf("[code] primal scan >> offset %d >> val '%s' >> strncmp return '%d' \n",scanCode,Detector,strncmp(Detector,"sub",3));
if (strncmp(Detector,"yok",3) == 0)
printf("[core] some data found at offset: %d\n",scanCode);
scanCode++;
}
return 0;
}
Voila.. le problème est que la variable Detector prend une valeur ... aproximative? ...
Voyez le resultat
Les données sonts présente mais le reste je ne sais pas d'ou sa vien, aussi, strncmp de détecte jamais le mot voulu (ici yok), il retourne toujours 1.
Merci de m'aider!