Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1760 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Ecrire dans un fichier binaire

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ecrire dans un fichier binaire

n°2235776
rattlesnak​e
Posté le 18-08-2014 à 12:19:25  profilanswer
 

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 ...

Code :
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. int main()
  5. {
  6. using namespace std;
  7. ifstream liste("liste_de_fichiers.txt", ios::in);
  8. if(liste)
  9. {
  10.  string lisligne;
  11.  string filename0, filename1,filename2,filename3,filename4;
  12.  string ligne;
  13.  double doublea,doubleb,doublec,doubled,doublee,doublef;
  14.  double double1, double2, double3, double4, double5, double6;
  15.  while(getline(liste, lisligne))
  16.  {
  17.    liste >> filename0; //lecture du nom de fichier dans un fichier "liste de fichiers"
  18.    filename1 = "/home/rs/Desktop/eclats/" + filename0 + "_1"; //création du nom du fichier où sera retranscrite la colonne 1
  19.    filename2 = "/home/rs/Desktop/eclats/" + filename0 + "_2"; //colonne 2
  20.    filename3 = "/home/rs/Desktop/eclats/" + filename0 + "_3"; // 3
  21.    filename4 = "/home/rs/Desktop/eclats/" + filename0 + "_4"; // 4
  22.    filename0 = "/home/rs/Desktop/données_modèles/données_modèles/2011/" + filename0; //Nom du fichier de base (avec toutes les colonnes)
  23.    ifstream fichier0(filename0.c_str(), ios::in); //fichier lecture
  24.    ofstream fichier1(filename1.c_str(), ios::out); // ecritures
  25.    ofstream fichier2(filename2.c_str(), ios::out);
  26.    ofstream fichier3(filename3.c_str(), ios::out);
  27.    ofstream fichier4(filename4.c_str(), ios::out);
  28.    if(fichier0 && fichier1 && fichier2 && fichier3 && fichier4)
  29.     {
  30.       fichier0 >> doublea >> doubleb >> doublec >> doubled >> doublee >> doublef; //lecture des 6 colonnes
  31.       //retranscription d'une colonne par fichier        
  32.       fichier1 << doublec*100;
  33.       fichier2 << doubled*100;
  34.       fichier3 << doublee*100;
  35.       fichier4 << doublef*100;
  36.      while(getline(fichier0, ligne))  // tant que l'on peut mettre la ligne dans "contenu"
  37.      {
  38.         fichier0 >> double1 >> double2 >> double3 >> double4 >> double5 >> double6;
  39.         fichier1 << double3*100;
  40.         fichier2 << double4*100;
  41.         fichier3 << double5*100;
  42.         fichier4 << double6*100;
  43.      }
  44.      //fichiers traités
  45.      cout<<filename0<<endl;
  46.      cout<<filename1<<endl;
  47.      cout<<filename2<<endl;
  48.      cout<<filename3<<endl;
  49.      cout<<filename4<<endl;
  50.     }
  51.     else
  52.      cerr<<"Impossible d'ouvrir le fichier!1"<<endl;
  53.  }
  54.  liste.close();
  55. }
  56. else
  57.  cerr<<"Impossible d'ouvrir le fichier!"<<endl;
  58. return 0;
  59. }


Merci d'avance !

mood
Publicité
Posté le 18-08-2014 à 12:19:25  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Ecrire dans un fichier binaire

 

Sujets relatifs
Mangodb / Redis : Pour indexer/Chercher fichier locauxAjouter des paragraphe d'un fichier word vers un autre
Ouvrir un fichier SPKInsérer un séparateur dans un fichier texte
Ouvrir un fichier dans répertoire réseauEcrire en binaire dans un fichier...
Ecrire un octet binaire dans un fichierecrire dans un fichier binaire
Ecrire et lire directement un fichier en binaire... (java)[C] ecrire un tableau[N][N] en binaire dans un fichier
Plus de sujets relatifs à : Ecrire dans un fichier binaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR