je n'en connais aucune qui le fait, pour cela le & 0xFFFFFF.
Moi j'avais isole sur un exemple a part, si ce sont des lignes ira encore + vite:
if(((DWORD*) ligne) == 0xD6D6964) est bien "dim\n".
BruNews, ciao...
-------------------------------
Réponse au message :
-------------------------------
> C'est vrai ! puisque tu fais & 0x00FFFFFF
> \0 m i d
>
> la fonction de lecture du fichier remplace un \0 a la place du n ? est-ce toujours le cas pour n'importe quelle fonction de lecture ?
>
>





>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > non aucun risque d'erreur car la comparaison est de 4 octets en remplacement de strcmp:
> > ((DWORD*) ligne) == donc 0 final est bien teste a la suite de 'dim'.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Cela merite quelque explication non ?
> > > Quel est ce nombre magique 0x6D6964 ?
> > > 64 : 'd'
> > > 69 : 'i'
> > > 6D : 'm'
> > >
> > > je crois ? (enfin ca correspond au niveau des offset !)
> > >
> > > mais il n'y a pas de probleme si je fais "dimHIHI"
> > > ne va-t-il pas dire que oui cette chaine est bien "dim" ?
> > > car dans le fichier, il y a une \n a la fin !
> > >
> > > je sais pas moi, c'est juste une question !
> > >
> > > moi je propose une chose plus lisible :
> > > (('d') | ('i' << 8) | ('m' << 16))
> > > comme ca (personnellement) c'est plus lisible,
> > > question rapidite, le compilateur peut optimiser
> > > tout cela car iln'y a que des contantes en 0x6D6964.
> > >
> > >
> > > Amicalement JCDjcd
> > >





> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > if((((DWORD*) ligne) & 0xFFFFFF) == 0x6D6964)
> > > > et encore mieux ton strcmp sur 3 octets.
> > > > BruNews, ciao...
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > if((((DWORD*) ligne) >> 1) == 0x6D6964)
> > > > > voila ton strcmp sur 3 octets.
> > > > > BruNews, ciao...
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > oui si tu peux assurer que 'ligne' contiendra un zero final sinon BADABOUM possible.
> > > > > > De tout maniere on ne lance pas un strcmp pour 3 octets, reflechis et trouve mieux.
> > > > > > BruNews, ciao...
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > ouais, ouais, on peut faire un strcmp(ligne,"dim") alors, non?
> > > > > > > je suis pas un pro moi...
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > > if (ligne=="dim") AUCUN RISQUE DE VOIR FONCTIONNER.
> > > > > > > > Faudra reviser les comparaisons string, et surtout pour 3 octets ne va pas appeler une fonction, compare les sur place.
> > > > > > > > BruNews, ciao...
> > > > > > > >
> > > > > > > >
> > > > > > > > -------------------------------
> > > > > > > > Réponse au message :
> > > > > > > > -------------------------------
> > > > > > > >
> > > > > > > > > si tu fais:
> > > > > > > > > #include <stdio.h>
> > > > > > > > >
> > > > > > > > > FILE* fi=fopen(fi, "r");
> > > > > > > > > char* ligne[50];
> > > > > > > > > bool dim_lu;
> > > > > > > > > float &val;
> > > > > > > > >
> > > > > > > > > while (fgets(ligne,50,iso) != NULL)
> > > > > > > > > {
> > > > > > > > > if (ligne=="dim")
> > > > > > > > > dim_lu=1;
> > > > > > > > > if (dim_lu)
> > > > > > > > > sscanf(ligne, "%f", &val);
> > > > > > > > > }
> > > > > > > > >
> > > > > > > > > ca devrait marcher...
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -------------------------------
> > > > > > > > > Réponse au message :
> > > > > > > > > -------------------------------
> > > > > > > > >
> > > > > > > > > >
Ensemble pour la science> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Bonjour,
> > > > > > > > > > J'espere que je vous dérange pas, mais je suis vraiment bloqué si vous pouvez m'aider.
> > > > > > > > > > enfaite j'ai un fichier "donner.dat" sous la forme suivante:
> > > > > > > > > > ------------------------------------------------------------------
> > > > > > > > > > test
> > > > > > > > > > 4
> > > > > > > > > >
> > > > > > > > > > hh
> > > > > > > > > > jj
> > > > > > > > > > f
> > > > > > > > > >
> > > > > > > > > > dim
> > > > > > > > > > 5
> > > > > > > > > > 15.2
> > > > > > > > > > 17.3
> > > > > > > > > > 11.2
> > > > > > > > > > 8.9
> > > > > > > > > > 17.9
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > enfaite ce que je veux c'est juste lire mon fichier a partir du dim, et récuperer les valeurs qui se trouve apres la dimension. (on peut avoir 100 valeurs).
> > > > > > > > > > merci.
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>