brice45
Messages postés14Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention13 août 2007
-
13 août 2007 à 15:48
cs_omnia
Messages postés240Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention22 mars 2009
-
14 août 2007 à 16:39
Bonjour;
Je n'arrive pas à réaliser en langage C un programme permettant de lire des données binaire dans un fichier et de les convertir en décimal pour les récrire dans un fichier.
NairodDorian
Messages postés130Date d'inscriptionlundi 26 juin 2006StatutMembreDernière intervention18 août 2008 14 août 2007 à 09:19
Tout est ecrit en binaire dans un fichier...
A moins que tu es utilise un truc du genre fprintf(monfichier, "%d", valeurbinaire) en passant a fopen le parametre "w".
Dans ce cas tu as un fichier texte. Si c'est le cas pas 36 solutions.
int BIN2DEC(const char *pszvalue)
{
// code cf les sources sur cppfrance
return valeur;
}
int main(...)
{
FILE *f;
char buf[16];
int valeur;
fopen(...);
while (!feof(f)) {
// lecture dans un char
...
// je chope ma valeur
valeur = BIN2DEC(buf);
// suite du boulot
...
}
fclose(f);
}
Sinon si tu as qqch du genre :
int main(...)
{
FILE *f = fopen(..., "wb");
int valeur = 10;
fwrite(&valeur, sizeof(int), 1, f);
fclose(f);
}
Alors la lecture se fera :
int main(...)
{
FILE *f = fopen(..., "rb");
int valeur;
fread(&valeur, sizeof(int), 1, f);
fclose(f);
// valeur vaut 10
}
NairodDorian
Messages postés130Date d'inscriptionlundi 26 juin 2006StatutMembreDernière intervention18 août 2008 14 août 2007 à 13:57
"omnia" : "Franchement abandonne l'utilisation de fopen c'est dépassé createfile est beaucoup mieu et plus rapide !!!"
Les fonctions de la CRT sont construites pour etre en accord avec l'OS. Donc fopen appel sans aucun doute CreateFile tout comme malloc appel HeapAlloc ect... Donc fopen et CreateFile meme combat sous Windows :). La difference c'est que la fonction CreateFile est plus "fine" c'est a dire que tu as plus de parametres pour influencer tel ou tel chose (partager ou ne pas partager le fichier en ecriture par exemple) ce que tu n'as pas avec fopen. Dire que fopen c'est plus lent que CreateFile c'est vrai car fopen appelera CreateFile tout compte fait mais ca se joue a peu de chose...
cs_omnia
Messages postés240Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention22 mars 2009 14 août 2007 à 16:39
Franchement ma remarque était pour information, maintenant pour les polimiques il y a déja eu pleins de messages par tous les puristes, maintenant si développez pour certains c'est seulement arriver a faire ce qu'on veux sans ce soucier des performances il faut aller voir du coté du .net et du java