FORUM D’ENTRAIDE INFORMATIQUE (FEI)
Site d’assistance et de sécurité informatique

Entraide pour le programmation en général (tous langages).
Règles du forum : Entraide concernant la programmation informatique en général, tous langages : recherche ou correction d'un code ou d'une fonction, aide à la réalisation d'un projet...
Pour la programmation web (HTML, CSS, PHP, MySQL...), il est conseillé de s'orienter dans le forum Webmastering.
Merci de lire et de respecter la charte générale du forum.
  • Avatar du membre
  • Avatar du membre
Avatar du membre
par rattlesnake
#142477
Bonjour,

Je travaille sur des fichiers de mesures météorologiques (txt) regroupées en colonnes. Une fois que j'ai extrait chaque colonne pour pouvoir l'utiliser seule, l'entreprise me demande de stocker ces données sous format 16bits dans un fichier binaire. J'aimerais savoir comment faire pour que, en ouvrant mon fichier de base et en le lisant en ASCII je puisse en faire plusieurs fichiers .bin avec la conversion que cela implique ...
Ci-dessous le code correspondant à l'extraction des colonnes de données, mais pour le moment la lecture ET l'écriture se font sous format ASCII ...

#include iostream
#include fstream
#include string


int main()
{
using namespace std;





   ifstream liste("liste_de_fichiers.txt", ios::in);
   
   if(liste)
   {
      string lisligne;
      string filename0, filename1,filename2,filename3,filename4;
      string ligne;
      double doublea,doubleb,doublec,doubled,doublee,doublef;
      double double1, double2, double3, double4, double5, double6;
      
      
      while(getline(liste, lisligne))
      {
            
            liste filename0; //lecture du nom de fichier dans un fichier "liste de fichiers"
            filename1 = "/home/rs/Desktop/eclats/" + filename0 + "_1"; //création du nom du fichier où sera retranscrite la colonne 1
            filename2 = "/home/rs/Desktop/eclats/" + filename0 + "_2"; //colonne 2
            filename3 = "/home/rs/Desktop/eclats/" + filename0 + "_3"; // 3
            filename4 = "/home/rs/Desktop/eclats/" + filename0 + "_4"; // 4
            filename0 = "/home/rs/Desktop/données_modèles/données_modèles/2011/" + filename0; //Nom du fichier de base (avec toutes les colonnes)
            
            ifstream fichier0(filename0.c_str(), ios::in); //fichier lecture
            ofstream fichier1(filename1.c_str(), ios::out); // ecritures
            ofstream fichier2(filename2.c_str(), ios::out);
            ofstream fichier3(filename3.c_str(), ios::out);
            ofstream fichier4(filename4.c_str(), ios::out);

            if(fichier0 fichier1 fichier2 fichier3 fichier4)
               {
                                 
                     fichier0 doublea doubleb doublec doubled doublee doublef; //lecture des 6 colonnes
                     //retranscription d'une colonne par fichier                     
                     fichier1 doublec*100;
                     fichier2 doubled*100;
                     fichier3 doublee*100;
                     fichier4 doublef*100;
                  while(getline(fichier0, ligne))  // tant que l'on peut mettre la ligne dans "contenu"
                  {                     
                                          
                           fichier0 double1 double2 double3 double4 double5 double6;
                           fichier1 double3*100;
                           fichier2 double4*100;
                           fichier3 double5*100;
                           fichier4 double6*100;
                        
                  }
                  //fichiers traités
                  coutfilename0endl;
                  coutfilename1endl;
                  coutfilename2endl;
                  coutfilename3endl;
                  coutfilename4endl;
               }
               else
                  cerr"Impossible d'ouvrir le fichier!1"endl;
         
      }
      
      liste.close();
   }
   else
      cerr"Impossible d'ouvrir le fichier!"endl;

   return 0;
}
Merci d'avance !
Avatar du membre
par cerede2000
#143077
Bonjour,

Pourrais tu être un peu plus précis.
Quelles sont les données à stockés ? (un exemple serait pas mal).

Car écrire dans un fichier binaire ça veut pas dire grand chose
Un fichier .exe est un fichier binaire en autre...

Vu que c'est ton programme, c'est toi qui détermine la manière dont tu stock tes données.

Hello everybody. Lately I have been very unlucky[…]

Having a coupon code is so convenient and helps a […]

Long-distance relationship

Hello everyone! Lately I have been thinking abou[…]

I appreciate you sharing this knowledge. I adore y[…]