- // ESfile -> Fichiers d'entrée/sortie du C++
- // En têtes necessaires
- #include <iostream>
- #include <fstream>
-
- // Les using. J'aurais pu mettre using namespace std mais pour eviter les erreurs ...
- using std::cout;
- using std::cin;
- using std::ofstream;
- using std::ifstream;
- using std::endl;
- using std::ios;
-
- // Instances
- ofstream outfile;
- ifstream infile;
-
- class ESFILE
- {
- public:
- //Constructeurs et Destructeurs
- ESFILE() {} ;
- ~ESFILE() {} ;
-
- // Methodes
- ASE_open(char * name_file, bool mode);
- ASE_print(char * chaine, bool end);
-
- ASS_open(char * name_file);
- char * ASS_get();
-
- ABE_open(char * name_file);
- ABE_write(char *chaine, int longueur);
-
- ABS_open(char * name_file);
- ABS_get(char * entry, int position);
-
- AE_close();
- AS_close();
-
- bool file_is_opened() {return IS_OPENED;} ;
-
- private:
- bool IS_OPENED;
- };
-
- ESFILE::ASE_open(char * name_file, bool mode)
- {
- if (mode == false)
- outfile.open(name_file,ios::app);
- else
- outfile.open(name_file,ios::trunc);
- IS_OPENED = true;
- };
-
- ESFILE::ASE_print(char *chaine, bool end)
- {
- if (end == true)
- outfile << chaine << endl ;
- else
- outfile << chaine ;
- };
-
- ESFILE::ASS_open(char *name_file)
- {
- infile.open(name_file);
- IS_OPENED = true ;
- };
-
- char * ESFILE::ASS_get()
- {
- char ch;
- int t;
- char * contenu ;
-
- while (infile.get(ch))
- {
- contenu[t] = ch ;
- t++;
- };
-
- return contenu ;
- };
-
- ESFILE::AE_close()
- {
- outfile.close();
- IS_OPENED = false;
- };
-
- ESFILE::AS_close()
- {
- infile.close();
- IS_OPENED = false;
- };
-
- ESFILE::ABE_open(char *name_file)
- {
- outfile.open(name_file,ios::binary);
- IS_OPENED = true ;
- };
-
- ESFILE::ABE_write(char *chaine, int position)
- {
- outfile.write(chaine, position);
- };
-
- ESFILE::ABS_open(char *name_file)
- {
- infile.open(name_file,ios::binary);
- IS_OPENED = true ;
- };
-
- ESFILE::ABS_get(char * entry, int position)
- {
- infile.read(entry,position);
- };
-
- /* EXPLICATIONS
- A signifie Acces
-
- B signifie Binaire(Direct)
- S signifie Sequentiel
-
- S signifie Sortie(lecture)
- E signifie Entrée(Ecriture)
-
- name_file : Nom du fichier à ouvrir
- mode : false pour le mode Ajout (ecrire a la fin du fichier) et true pour remplacer le fichier
- s'il existe
- end : true pour placer un retour chariot (\n) a la fin ou false pour continuer sur la même ligne
- chaine : chaine ou Caractère à ecrire
- position : Position à lire
- longueur : Longueur de la chaine à ecrire
- entry : Caractere cible où placer le resultat
-
- La fonction file_is_opened retourne true si un fichier est ouvert ou false dans le cas contraire
-
- ! ATTENTION !
- - Ne pas ouvrir plusieurs fichiers a la fois
- - Ne pas fermer un fichier si aucun n'est ouvert
- - Ne pas ecrire ou lire une valeur si aucun fichier n'a été ouvert
- - Arreter de se prendre pour un Programmer Master parcequ'on a trouvé une SuperClasse ... */
// ESfile -> Fichiers d'entrée/sortie du C++
// En têtes necessaires
#include <iostream>
#include <fstream>
// Les using. J'aurais pu mettre using namespace std mais pour eviter les erreurs ...
using std::cout;
using std::cin;
using std::ofstream;
using std::ifstream;
using std::endl;
using std::ios;
// Instances
ofstream outfile;
ifstream infile;
class ESFILE
{
public:
//Constructeurs et Destructeurs
ESFILE() {} ;
~ESFILE() {} ;
// Methodes
ASE_open(char * name_file, bool mode);
ASE_print(char * chaine, bool end);
ASS_open(char * name_file);
char * ASS_get();
ABE_open(char * name_file);
ABE_write(char *chaine, int longueur);
ABS_open(char * name_file);
ABS_get(char * entry, int position);
AE_close();
AS_close();
bool file_is_opened() {return IS_OPENED;} ;
private:
bool IS_OPENED;
};
ESFILE::ASE_open(char * name_file, bool mode)
{
if (mode == false)
outfile.open(name_file,ios::app);
else
outfile.open(name_file,ios::trunc);
IS_OPENED = true;
};
ESFILE::ASE_print(char *chaine, bool end)
{
if (end == true)
outfile << chaine << endl ;
else
outfile << chaine ;
};
ESFILE::ASS_open(char *name_file)
{
infile.open(name_file);
IS_OPENED = true ;
};
char * ESFILE::ASS_get()
{
char ch;
int t;
char * contenu ;
while (infile.get(ch))
{
contenu[t] = ch ;
t++;
};
return contenu ;
};
ESFILE::AE_close()
{
outfile.close();
IS_OPENED = false;
};
ESFILE::AS_close()
{
infile.close();
IS_OPENED = false;
};
ESFILE::ABE_open(char *name_file)
{
outfile.open(name_file,ios::binary);
IS_OPENED = true ;
};
ESFILE::ABE_write(char *chaine, int position)
{
outfile.write(chaine, position);
};
ESFILE::ABS_open(char *name_file)
{
infile.open(name_file,ios::binary);
IS_OPENED = true ;
};
ESFILE::ABS_get(char * entry, int position)
{
infile.read(entry,position);
};
/* EXPLICATIONS
A signifie Acces
B signifie Binaire(Direct)
S signifie Sequentiel
S signifie Sortie(lecture)
E signifie Entrée(Ecriture)
name_file : Nom du fichier à ouvrir
mode : false pour le mode Ajout (ecrire a la fin du fichier) et true pour remplacer le fichier
s'il existe
end : true pour placer un retour chariot (\n) a la fin ou false pour continuer sur la même ligne
chaine : chaine ou Caractère à ecrire
position : Position à lire
longueur : Longueur de la chaine à ecrire
entry : Caractere cible où placer le resultat
La fonction file_is_opened retourne true si un fichier est ouvert ou false dans le cas contraire
! ATTENTION !
- Ne pas ouvrir plusieurs fichiers a la fois
- Ne pas fermer un fichier si aucun n'est ouvert
- Ne pas ecrire ou lire une valeur si aucun fichier n'a été ouvert
- Arreter de se prendre pour un Programmer Master parcequ'on a trouvé une SuperClasse ... */