IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Comment écrire des nombres dans un fichier ASCII ?


Sujet :

C++

  1. #1
    Membre régulier Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 105
    Points
    105
    Par défaut Comment écrire des nombres dans un fichier ASCII ?
    Voilà j'ai un petit souci...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    AnsiString txt;
    char *buffer1;
    char *buffer2;
    char *buffer3;
    char *buffer4;
    n = 0;
     
    TFileStream * file;
    file = new TFileStream("c:/Matrice.csv",fmOpenReadWrite);
     
    for (n=0;n<=10;n++)
    {
     
       buffer1 = "\n";
       file->Write(buffer1,strlen(buffer1));
     
       buffer2 = itoa(PosX[n],txt.c_str(),10);
       file->Write(buffer2, strlen(buffer2));
     
       buffer3 = ";";
       file->Write(buffer3,strlen(buffer3));
     
       buffer4 = itoa(PosY[n],txt.c_str(),10);
       file->Write(buffer4,strlen(buffer4));
     
     }
    delete(file);
    Ce petit bout de programme fonctionne à merveille tant que les 2 tableaux PosX et PosY ne contiennent que des entiers dès que je range dedans des nombres à virgule ça ne fonctionne plus (ce qui est normal du fait de itoa() ).

    Mais impossible d'arriver à le modifier pour qu'il accepte les float sans erreurs... Est-ce que quelqu'un aurai une idée pour que je puisse rentrer des décimaux dans PosX etPosY... Merci...
    " l'imagination est plus importante que le savoir. "
    Albert Einstein.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    std::ostringstream...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre régulier Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 105
    Points
    105
    Par défaut
    #include <iostream.h> et #include <istream.h> font partie de mon programme et dans le site je tourne depuis tout à l'heure pas moyen de trouver les streams...
    " l'imagination est plus importante que le savoir. "
    Albert Einstein.

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut
    les stream de fichier (ifstream, ofstream) héritent des fstream

    donc il faut inclure <fstream>

    ET IL NE FAUT SURTOUT PAS METTRE LES .H !!

    pour les lib standardes c++ comme <string>, toute la famille des streams, et toute la stl
    Venez partager vos expériences au sein d'un projet sur slicesofit, agile & amélioration continue

  5. #5
    Membre régulier Avatar de gelam
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 69
    Points : 74
    Points
    74
    Par défaut
    Essaie avec ça ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    #include <fstream>
    using namespace std ;
     
    int main()
    {
    	int PosX[]={11,22,33} ;
    	int PosY[]={111,222,333} ;
     
    	ofstream f ;
    	f.open("c:/Matrice.csv") ;
    	for( int n=0; n<3; n++ )
    		f << PosX[n] << ';' << PosY[n] << endl ;
    	f.close() ;
    	return 0 ;
    }
    Ensuite essaie avec un bon tutorial.
    Le C++ n'est pas du C.

    En utilisant le C ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #include <stdio.h>
     
    int main()
    {
    	int PosX[]={11,22,33} ;
    	int PosY[]={111,222,333} ;
     
    	FILE* f ;
    	f=fopen("c:/Matrice.csv","w") ;
    	for( int n=0; n<3; n++ )
    		fprintf(f,"%d;%d\n",PosX[n],PosY[n]) ;
    	fclose(f) ;
    	return 0 ;
    }
    Je crois que c'est le moment de choisir...
    Avez-vous remarqué les progrès que fait l'ignorance?
    [Tristan Bernard ]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XML] Comment écrire des instructions dans un fichier XML
    Par Alexandrebox dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 28/04/2009, 12h50
  2. Réponses: 7
    Dernier message: 17/03/2006, 13h26
  3. Réponses: 3
    Dernier message: 27/06/2005, 16h24
  4. [D6] Comment remplacer des chaînes dans un fichier ?
    Par fabien25 dans le forum Langage
    Réponses: 4
    Dernier message: 15/06/2005, 13h37
  5. Comment changer des mots dans un fichier?
    Par ptitbonum dans le forum Linux
    Réponses: 5
    Dernier message: 07/04/2004, 23h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo