Là, je suis 8OCitation:
Envoyé par cout
'faudra m'expliquer...
Version imprimable
Là, je suis 8OCitation:
Envoyé par cout
'faudra m'expliquer...
c'est vrai que c'est bizarre, mais lors de la compilation, il me dit :
Type mismatch in parameter '__n' in call to 'fread'
Code:
1
2 fread(*dest,1,tailleEnreg,file);
tu peux me montrer toute cette partie du code, de la déclaration de tailleEnreg jusqu'au fread()?
non en fait ça fonctionne, je sais pas ce qui m'est arrivé pourtant, je ne bois pas...
Mais le fread ne fonctionne toujours pas pour autant, c'est le coup du int à la place du *int qui fonctionne
Le fread() ne fonctionne toujours VRAIMENT pas pour autant?
Comment es-tu sûr que ce n'est pas seulement ton débugger qui foire parce que le buffer est un char * comme je l'ai déjà dit?
Tant que tu n'auras pas trouvé le moyen d'afficher le contenu du buffer en entier (Tu peux remplacer les printf() de ma fonction par des fprintf()) vers un fichier texte), tu ne peux même pas savoir si ta lecture marche ou non!
en fait je me suis aperçu de ça : avec tailleEnreg = 1024
avec ce code :
il s'arrete au premier octet egal à 0x00 (il lit les 232 premier)Code:fread(*dest,1,tailleEnreg,file);
et avec celui-ci :
Il lit tous les octets apparement puisqu'apparaissent uniquement ceux qui sont different de 0x00 (il yen a 578).Code:
1
2
3
4
5
6
7 for(i=0 ; i<tailleEnreg ; i++) { car[0] = fgetc(file); car[1] = 0; strcat(*dest,car); }
et avec :
Il m'affiche 1024 octets dans *dest mais ceux qui était égaux à 0x00 sont remplacé par 'A';Code:
1
2
3
4
5
6
7
8 for(i=0 ; i<tailleEnreg ; i++) { car[0] = fgetc(file); car[1] = 0; if(car[0] == 0) car[0]='A'; strcat(*dest,car); }
Le probleme vient donc de koi a votre avis , c'est qd meme bizarre que le fread s'arrete au 0x00
Dis-donc, tu les lis, mes posts, ou quoi...
Ce n'est pas fread() qui merde, mais la lecture du buffer ensuite...
pardon, tu parle du poste 27, je n'avais pas vu que t'avais ecrit le 26 a ce moment la.. je suis en train d'essayer de faire comme tu ma di
Il faut tester le code retour de fseek() et de fread().Citation:
Envoyé par cout
fread() retourne 1024, donc c'est bon, ça vient donc du buffer *dest...jepense comme le dit medinoc
Ou comment perdre des heures à déboguer une fonction qui marche :aie:
C'est bon j'ai réussi a recuperer le contenu du buffer, mais il ne correspond pas à ce qu'il y a dans le fichier d'origine
C'est-à-dire ?