Sauvegarder float en fichier texte [Résolu]

cs_kididouille 20 Messages postés lundi 27 mars 2006Date d'inscription 18 janvier 2009 Dernière intervention - 7 juin 2006 à 09:30 - Dernière réponse : Galmiza 573 Messages postés samedi 16 novembre 2002Date d'inscription 9 avril 2008 Dernière intervention
- 8 juin 2006 à 11:51
Bonjour, j'ai un tableau de float et j'aimerai l'enregistrer dans un fichier texte.
A l'ouverture de ce fichier texte (avec le bloc note par exemple) j'aimerai avoir les valeurs.
(Pour exploiter dans excel)
D'avance merci pour vos explications
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
xboxut 175 Messages postés jeudi 4 mars 2004Date d'inscription 27 novembre 2009 Dernière intervention - 7 juin 2006 à 10:41
3
Merci
comme je l ai dit plus haut, impossible pour excel de lire tes valaurs en binaires tu doit tranformer tes float en chaine de char.j te passe un ptit exemple.

float tab[MAX_TAB];
char buffer[64];

FILE *donnee=fopen(.....,....);

for( int i=0;i<MAX_TAB;i++)
{
  sprintf (buffer, "%f ",tab[i]);//on ecrit la valeur + un espace qui servira de separateur dans le buffer

fwrite(buffer,1,strlen(buffer),donnee);//on ecrit dans le fichier la chaine

}

voila tu a en gros une idee de ce qu il faut faire meme si ce n est pas tres performant 

 

Merci xboxut 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de xboxut
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 7 juin 2006 à 09:41
0
Merci
Avec fwrite par exemple:

float f[NB_FLOAT];

FILE* fichier = fopen(...);
fwrite(f, sizeof *f, NB_FLOAT, fichier)
Commenter la réponse de vecchio56
xboxut 175 Messages postés jeudi 4 mars 2004Date d'inscription 27 novembre 2009 Dernière intervention - 7 juin 2006 à 10:09
0
Merci
hum je connais pas du tout excel mais lorsque l'on exploite des donnée a l'aide de plotter ou autre programme basique, il est impossible de lire les valeurs directement ecrites en binaires; il faut passer pas l ascii.

le truc a faire sera donc d'utiliser une fonction de transformation de float vers chaine de char genre ftoa que tu peut trouver sur ce site ; )   (  http://www.cppfrance.com/code.aspx?ID=30521 )ou meme fprintf.
ensuite tu sauve tout ton bordel dans un fichier en prenant soin de séparer toutes tes données par des espace ou des virgules (regarde les option de chargement de fichier d excel). et le tour est joué.
Commenter la réponse de xboxut
cs_kididouille 20 Messages postés lundi 27 mars 2006Date d'inscription 18 janvier 2009 Dernière intervention - 7 juin 2006 à 10:31
0
Merci
J'arrive à écrire dans mon fichier texte (CFile Ficher ; Fichier.Write)
mais lorsque je l'ouvre je n'ai pas mes  chiffres mais des ×£½ÍÌ̽ÍÌ̽{.¾{.¾{.¾{.¾{.¾{.¾{.¾{.¾{.¾{.¾  ?¾  ?¾  ?¾¸…¾Âu¾  ?¾  ?¾Âu¾  ?¾  ?¾
tu vois le genre...
Il faut que je passe mes float en char? en cstring?
Conversion float to char?
A partir d'un tableau de float crée un tableau de char??
D'avance merci
Commenter la réponse de cs_kididouille
ymca2003 2070 Messages postés mardi 22 avril 2003Date d'inscription 3 juillet 2006 Dernière intervention - 7 juin 2006 à 10:38
0
Merci
fprintf(file, "%f", val);
Commenter la réponse de ymca2003
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 7 juin 2006 à 11:26
0
Merci
Oups, j'avais mal lu, je pensais que c'était le même programme qui devait relire les float
Commenter la réponse de vecchio56
Galmiza 573 Messages postés samedi 16 novembre 2002Date d'inscription 9 avril 2008 Dernière intervention - 8 juin 2006 à 11:51
0
Merci
Sépare tes valeurs par des ; si tu veux changer de colonne, et par des retours à la lignes \n si tu veux changer de ligne.

Si tu écris:

Julie;23;Danseuse
Paul;25;Chanteur
Guillaume;21;Guitariste

dans un fichier dont l'extension est csv, il s'ouvrira avec Excel comme un tableau à 3 lignes (les 3 individus), 3 colonnes (nom, age, role dans le groupe).
Commenter la réponse de Galmiza

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.