Exercices corrigés en langage C++ : Les fichiers
Exercice 1 :
Correction exercice 1 :
Exercice 2 :
Correction exercice 2 :
Exercice 3 :
Correction exercice 3 :
Exercice 4 :
Correction exercice 4 :
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 :
Vous devriez obtenir :
Hello world!
Voici un programme illustrant l'écriture dans un fichier
#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;
}
No comments:
Post a Comment