Pages

mercredi 2 avril 2014

Exercices corrigés en langage C++ : Les fichiers

Exercices corrigés en langage C++ : Les fichiers
langage c++
Exercice 1 : 

Ecrire un programme qui écrit dans le fichier exemple.txt le texte:
Hello world!
Voici un programme illustrant l'écriture dans un fichier

Correction exercice 1 : 

#include <iostream>
#include <fstream>

int main (int argc, char * argv[]) {
  std::ofstream myfile;
  char * filename = "example.txt";
  myfile.open (filename, std::ios::out);
  if(myfile.is_open())
  {
      myfile << "Hello world \n";
      myfile << "Voici un programme illustrant l'écriture dans un fichier \n";
  }
  else
  {
      std::cout << "Erreur à l'ouverture du fichier "<< filename << std::endl;
  }
  myfile.close();
  return 0;
}


Exercice 2 : 

Ecrire un programme qui lit le fichier example.txt définit dans l'exemple précédent et affiche son contenu :
Vous devriez obtenir :
Hello world!
Voici un programme illustrant l'écriture dans un fichier

Correction exercice 2 : 

#include <iostream>
#include <fstream>
#include <string>

int main () {
  std::string line;
  char * filename = "example.txt";
  std::ifstream myfile (filename, std::ios::in);
  if (myfile.is_open())
  {
    while (! myfile.eof() )
    {
      getline (myfile,line);
      std::cout << line << std::endl;
    }
    myfile.close();
  }

  else std::cout << "Erreur à l'ouverture du fichier " << filename << std::endl;; 

  return 0;
}


Exercice 3 : 

Proposez un programme qui écrit en binaire une chaîne de caractère suivant de la liste des entiers de 0 à 1000 :
Liste des entiers de 1 à 1000
0
1
2
...
1000


Correction exercice 3 : 


#include <iostream>
#include <fstream>

int main (int argc, char * argv[]) {
  std::ofstream myfile;
  char * filename = "exampleBinary.txt";
  myfile.open (filename, std::ios::out | std::ios::binary);
  if(myfile.is_open())
  {
      myfile.write("Liste des entiers de 1 à 1000",29*sizeof(char));
      for(int i = 0 ; i <= 1000 ; i++)
      {
          myfile.write((char*)&i,sizeof(int));
      }
  }
  else
  {
      std::cout << "Erreur à l'ouverture du fichier "<< filename << std::endl;
  }
  myfile.close();
  return 0;
}


Exercice 4 : 

Proposez un programme qui lit le fichier écrit en binaire de l'exercice précédent et affiche son contenu. Vous devriez obtenir :
Liste des entiers de 1 à 1000
0
1
2
...
1000

Correction exercice 4 : 

#include <iostream>
#include <fstream>

int main (int argc, char * argv[]) {
  std::ifstream myfile;
  char * filename = "exampleBinary.txt";
  char buffer[29];
  int value;
  myfile.open (filename, std::ios::in | std::ios::binary);
  if(myfile.is_open())
  {
      myfile.read(buffer,29*sizeof(char));
      std::cout << buffer << std::endl;
      for(int i = 0 ; i <= 1000 ; i++)
      {
          myfile.read((char*)&value,sizeof(int));
          std::cout << value << std::endl;
      }
  }
  else
  {
      std::cout << "Erreur à l'ouverture du fichier "<< filename << std::endl;
  }
  myfile.close();
  return 0;
}



Aucun commentaire:

Enregistrer un commentaire

Partenaires

Computers Blogs
Ajoutez votre site

Contactez-nous

Nom

E-mail *

Message *

Tous droits resérvés-www.exercices-corriges.com Seo Blogger Templates