et le teste pf == NULL ?
mais non je rigole !





-------------------------------
Réponse au message :
-------------------------------
> alors je suis alle voir, le fgets ne lit pas ligne par ligne alors ce que je t'ai mis n'ira pas.
> Ta methode n'ira jamais, exemple si le 'd' se trouve en postion 49 dans le fichier tu ne verras jamais 'dim' en entier dans le buffer ligne.
> Methode qui va bon:
> Aspire tout dans un buffer, place 2 pointeurs, c et d, au debut du buffer. A chaque tour, et tant que non fin du buffer, verifie que les 4 octets en partant de c valent bien 'dim\r' avance d jusque nouvelle ligne(position du prochain \n + 1, si c a verifie bon ok, sinon c = d et on boucle.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > PRECISIONS: les fgets et trucs de ce genre, je fais que c'est bon, je ne pratique que win32 donc...
> >
> > char *ligne[50]; tableau de pointeurs ???
> >
> > FILE *pf;
> > char ligne[50]; // ira mieux, tableau de 50 octets
> > int dim_lu = 0;
> > float val;
> > int i = 0;
> >
> > pf=fopen("test.dat","r");
> >
> > while(fgets(ligne,50,pf)!=NULL)
> > {
> > if (*((unsigned int *)ligne) == 0xD6D6964)
> > sscanf(pf,"%f",&ligne[i]);
> > i++;
> > }
> >
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
Ensemble pour la science> > >
> > > Bonjour,
> > > suite a ma question "lire fichier au secours, et suite a votre réponses, voila ce que j'ai fais.
> > > ------------------------------------------------
> > >
> > > FILE *pf;
> > > char *ligne[50];
> > > int dim_lu = 0;
> > > float val;
> > > int i = 0;
> > >
> > > pf=fopen("test.dat","r");
> > >
> > > while(fgets(ligne,50,pf)!=NULL)
> > > {
> > > if (ligne == "dim")
> > > dim_lu = 1;
> > > if (dim_lu == 1)
> > > sscanf(pf,"%f",&ligne[i]);
> > > i++;
> > > }
> > > ------------------------------------------------------
> > > mais le pb. je reçois qlq erreurs:
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > the referenced type of the pointer value "ligne" is "pointer to char", which is not compatible with "char". (ptrmismatch)
> > > while(fgets(ligne,50,pf)!=NULL)
> > > ---------------^
> > > cc: Warning: in this statement ""dim"" of type "pointer to char", is being converted to "pointer to pointer to char". (cvtdiftypes)
> > > if (ligne == "dim")
> > > -----------^
> > > cc: Warning: this statement, the referenced type of the pointer value "pf" is "struct declared without a tag", which is not compatible with "const char". (ptrmismatch)
> > > sscanf(pf,"%f",&ligne[i]);
> > > ----------------^
> > >
> > >
> > >
> > > Est ce que vous pouvez m'aider une autre fois et me trouver une solution a ça SVP, car vraiment je suis bloqué, et je peux plus rien a faire depuis 20 jours.
> > > Merci infiniment.
> > > mon fichier
> > > hhff
> > > fgg
> > > hth rsg
> > > gg fgfg
> > > gfg fsgs
> > > dim
> > > 3
> > > 2.35
> > > 15.6
> > > 17.5
> >
>