Vérifier un header de fichier...

MorZong - 4 nov. 2001 à 18:13
 MorZong - 6 nov. 2001 à 18:41
Salut,

Voilà j'ai créer un programme (simple, pas avec API) de cryptage tout simple et je voudrais qu'il ait sont propre genre de fichier. Alors j'ai mis un header de 3 octets dans le fichier qu'il crypte pour qu'il puisse vérifier, lorsque je lui soumet un fichier, qu'il s'agit bien de l'un de ses fichiers et donc qu'il doit le décrypter au lieu de le crypter. Seulement voilà je n'arrive pas à vérifier si le header qu'il a lu correspond au header du programme. Alors comment faire ?

4 réponses

Utilise un "Magic number" : Ajoute à ta structure de header
un int ou un long contenant une valeur spécifique à ton programme et tu pourras ensuite tester cette valeur.
0
Salut,

Ouais.. J'aurais peut-être du dire que je suis un débutant ! Je te remercie de ta solution, mais ça c'est encore du chinois pour moi ! En fait, pour être plus précis, ce n'est pas vraiment le header de fichier qui m'interresse, ça c'est l'exemple qui me pose problème en ce moment. Le vrai problème, c'est que je n'arrive pas à expliquer au programme qu'il doit vérifier si la variable1(de type char, défini dans le programme) est la même que la variable2 (de type char aussi, qu'il a lu dans un fichier.). Voilà. Comme ça je peux faire:

if(var1 == var2) <- Enfin si c'est comme ça !
{
Instructions if...
}

Par contre, si c'est Kaid qui me relit, ça m'intéresserais aussi de connaitre plus de détail sur le "Magic number" dont tu parle. Parce qu'en fait j'ai tjrs pensé qu'un header c'était genre 3 octets qu'on placait on début (comme ds un .bmp par exmpl).
0
Effectivement, tu testes l'égalité entre deux types
de base par ==. Par contre, si tu testes l'égalité
entre deux chaines de caractères (char *), il faut
que tu utilises la fonction strcmp().

Et pour le header tu as aussi raison. Moi je croyais
que le problème que tu avais, c'était de déterminer
si un fichier A a bien été crypté par ton programme.
Donc dans ce cas là, tu ajoutes un nombre / une chaine
de caractères au header, que tu initialises à une
certaine valeur.
Si tu édites un fichier .ZIP, tu verras que le fichier
commence par "PK", un fichier .RAR par "Rar!", un EXE
par "MZ", ...
0
Salut Kaid,

Ca fonctionne ! Alors là, mais alors là, MERCI !
C'est vraiment kool de ta part, merci et A++ !
0
Rejoignez-nous