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
[code] primal scan >> offset 257 >> val '-yok ???ws?@' >> strncmp return '1'
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!