Re: c read

Page principale

Répondre à ce message
Auteur: Marc TERRIER
Date:  
À: Patrick Dupre
CC: Linux38
Sujet: Re: c read
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