Patrick Dupre a écrit :
> Bonsoir,
>
> J'ai un fichier binaire contenant des nul (provenant d'un application DOS).
> Je peux le lire (par example avec sscanf), mais chaque fois que je vuex
> lire avec un fread, la lecture s'arrete au premier nul, et je ne parviens
> pas a lire les autres caracteres.
> Comment eviter ce probleme ?
> Merci.
>
Bonsoir,
Utilise fgetc à la place de fread : fgetc ne s'arrête pas au premier
zéro binaire rencontré, mais bien à la fin du fichier. J'ai bricolé un
petit bout de code pour essayer, et je te confirme que ça marche...
#include <stdio.h>
#include <conio.h>
int main ( void )
{
FILE *stream;
char ch;
stream = fopen ( "DUMMY.TXT", "r" );
do
{
ch = fgetc ( stream );
putch ( ch );
}
while ( ch != EOF );
fclose ( stream );
return 0;
}
P.S. : ici, DUMMY.TXT est un fichier texte, fait pour l'occasion, dans
lequel j'ai rajouté quelques zéros binaires à la mano.
Hope this helps.
--
Marco