[C] lecture d'un fichier

cs_GazGaz Messages postés 31 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 14 juin 2003 - 9 juin 2003 à 15:58
LucChirac Messages postés 8 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 23 mai 2007 - 10 juin 2003 à 11:50
lu all

alors voila en fait je lis un fichier en c et le probleme c'est que ce fichier est composé de lignes dont la taille exècede largement les 80 caractères autorisés!!

Moi j'ai besoin de lire toutes les lignes donc Ze question iS : comment faire pour contourner ce probleme ?

***********************************************************
le programme donne ca :

#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
FILE *fich1 ;
int pos;
char *detail;

fich1 = fopen("D:\\L0527000.log", "rb");
if (fich1 == NULL)
{
printf("erreur");
}
else
{
printf("\n c bon");
}

i=fseek(fich1,0,SEEK_SET);

printf("\n ligne : %d",i);

fgets(detail,80,fich1);

printf("\n %s", detail);

getch();
return 0;
}

********************************************************

Si on met + de 80 dans fgets ca bugg total
et si on laisse 80 ca marche mais la ligne est incomplete dans la fenetre dos ouù ca s'affiche.

thx d'avance ca presse .

_____________________
|| Punk's not dead ||

1 réponse

LucChirac Messages postés 8 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 23 mai 2007
10 juin 2003 à 11:50
Tente ça pour voir

#include <stdio.h>
#include

int main(int argc, char *argv[])
{
int i;
FILE *fich1 ;
struct _finddata_t file_log;
int pos;
char *detail;
char *name = "D:\\L0527000.log";

_findfirst( name, &file_log );
fich1 = fopen(name, "rb");

if (fich1 == NULL) return 0;

detail = new char[file_log.size];
fread(detail,sizeof(char),file_log.size, fich1);
printf("\n %s", detail);
delete[] detail;

return 0;
}
0
Rejoignez-nous