• # Commentaires

    Posté par . En réponse au message Lecture de fichier binaire. Évalué à 1.

    size=2;
    ptr=(short int *)malloc(size);
    • Le cast de la valeur de retour de *alloc est inutile et peut même cacher l'oubli d'inclusion de stdlib.h. A éviter.
    • Tu n'as pas vérifié que ptr n'est pas nul...
    fread(ptr,(size_t)size,1,data_file);
    • Le cast en size_t est inutile, la conversion se faisant implicitement lors de l'appel de fread.
    • Tu as oublié de vérifier la valeur de retour de fread, donc tu ne sais pas si tu as effectivement lu ce que tu voulais, ou non. Il a pu y avoir une erreur d'I/O...
    • L'utilisation d'une valeur "size" est douteuse si ton code ne fait que ça... Evite, car ça risque d'être source de bugs (pas portable, valeur modifée en cours de programme...).
    printf("%02X ",*((short int *)ptr));
    Comme dit par ailleurs, c'est horrible.