Hexadecimal

Résolu
schap25 Messages postés 21 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 28 mai 2008 - 26 mai 2008 à 15:10
schap25 Messages postés 21 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 28 mai 2008 - 28 mai 2008 à 08:32
Bonjour,

Je devais programmé un petit quelque chose permettant de compter le nombre de mails dans un repertoire contenant des .dbx

J'avais fais un système de recherche d'un mot correspondant a l'entete
d'un mails, en convertissant les .dbx en .txt mais ca prend trops de
temps à l'execution..


On m'as dis que le nombre de mails des .dbx était lisible en Hexadecimal a la position C4..

Je ne sais pas du tout ce que ca veu dire, comment lire de l'hexa en c++, ou quoi que ce soit ...

Enfin je sais que C4 c'est 196, ca veu donc dire qu'il faut que je commence a lire a partir du 196eme caractere ??


Pfiou dur dur de ce mettre dans la peau d'un programmeur pour entreprise (saleté de stage XD)

Merci d'avance !

6 réponses

Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
26 mai 2008 à 16:28
Pas la peine de lire 10000 octets, 4 suffisent:
int main(void)
{
FILE* pFile;
unsigned long ul;
pFile = fopen("stage.dbx", "rb");
fseek(pfile, 196, SEEK_SET);
fread(&ul, 1, sizeof(unsigned long), pFile);
printf("%i\n", ul);
fclose(pFile);
system("PAUSE");
return 0;
}

Neo_Fr
3
Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
26 mai 2008 à 15:37
Recupere les 4 premiers octets a partir du 196eme octet et tu verra bien si ca correspond a ce que tu cherche..
Quelques infos sur le format dbx: http://oedbx.aroh.de/menu.html

Neo_Fr
0
schap25 Messages postés 21 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 28 mai 2008
26 mai 2008 à 16:24
Je suis allé voir, j'essairai de me servir de cette librairie demain .

Mais sinon, est-ce que ceuci est correcte pour ranger les octet dans un tableau ??

Meurci


int main()

{

    FILE *file;

    unsigned char hexatab[10000];

    file=fopen("stage.dbx","rb");

    fseek(file,196, SEEK_SET);

    fread(hexatab, 1, 10000, file);

   

    cout<<hexatab<<endl; //juste pour tester

    getch();

    fclose (file);

   

}
0
schap25 Messages postés 21 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 28 mai 2008
27 mai 2008 à 08:47
Merci beaucoup Neo_fr !

Ca marche, et j'obtient bien le nombre de mails !

Mais juste une derniere precisions,

est-ce que ca marchera aussi si le nombre de mail et très elevés ??

Ce programme doit fonctionner avec de très grosse boite mails (4 à 10Go, donc beaucoups de mails quoi XD)

Encor merci!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
27 mai 2008 à 18:34
Tant que le nombre de mails reste inferieur a 0xFFFFFFFF pas de pbs.

Neo_Fr
0
schap25 Messages postés 21 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 28 mai 2008
28 mai 2008 à 08:32
Merci =)
0
Rejoignez-nous