Types publics | Fonctions membres publiques

Référence de la classe Castor::File

Classe de gestion de fichier. Plus de détails...

Graphe d'héritage de Castor::File:
Graphe de collaboration de Castor::File:

Liste de tous les membres

Types publics

enum  eOPEN_MODE {
  eOPEN_MODE_DUMMY = 0x00000000, eOPEN_MODE_READ = 0x00000001, eOPEN_MODE_WRITE = 0x00000010, eOPEN_MODE_APPEND = 0x00000100,
  eOPEN_MODE_BINARY = 0x00001000, eOPEN_MODE_COUNT
}
 

Enumérateur des modes d'ouverture.

Plus de détails...
enum  eENCODING_MODE {
  eENCODING_MODE_AUTO, eENCODING_MODE_ASCII, eENCODING_MODE_UNICODE, eENCODING_MODE_UTF8,
  eENCODING_MODE_UTF16
}
 

Mode d'encodage des fichiers texte.

Plus de détails...
enum  eOFFSET_MODE { eOFFSET_MODE_BEGINNING, eOFFSET_MODE_CURRENT, eOFFSET_MODE_END }
 

Modes d'offset pour la fonction seek.

Plus de détails...

Fonctions membres publiques

int Seek (long long p_i64Offset, eOFFSET_MODE p_eOrigin=eOFFSET_MODE_BEGINNING)
template<typename T >
Fileoperator<< (T const &p_toWrite)
template<typename T >
Fileoperator>> (T &p_toRead)
Construction / Destruction

 File (Path const &p_fileName, int p_iMode, eENCODING_MODE p_eEncoding=eENCODING_MODE_ASCII)
 File (File const &p_file)
 File (File &&p_file)
virtual ~File ()
Text read and write functions

std::size_t ReadLine (String &p_toRead, std::size_t p_size, String p_strSeparators=cuT("\r\n"))
std::size_t ReadWord (String &p_toRead)
std::size_t ReadChar (xchar &p_toRead)
std::size_t CopyToString (String &p_strOut)
std::size_t WriteText (String const &p_strText)
std::size_t Print (std::size_t p_uiMaxSize, xchar const *p_pFormat,...)
Binary read and write functions

bool Write (String const &p_strToWrite)
bool Read (String &p_strToRead)
template<typename T >
std::size_t Write (T const &p_toWrite)
template<typename T >
std::size_t Read (T &p_toRead)
template<typename T >
std::size_t WriteArray (T const *p_toWrite, std::size_t p_count)
template<typename T , std::size_t N>
std::size_t WriteArray (T const (&p_toWrite)[N])
template<typename T >
std::size_t ReadArray (T *p_toRead, std::size_t p_count)
template<typename T , std::size_t N>
std::size_t ReadArray (T(&p_toRead)[N])
Accessors

long long GetLength ()
bool IsOk () const
long long Tell ()
Path const & GetFileFullPath () const
Path GetFilePath () const
Path GetFileName () const

Operators



Fileoperator= (File const &p_file)
Fileoperator= (File &&p_file)
static bool ListDirectoryFiles (Path const &p_folderPath, StringArray &p_files, bool p_recursive=false)
static Path DirectoryGetCurrent ()
static bool FileExists (Path const &p_pathFile)
 Teste l'existence d'un fichier.

Description détaillée

Classe de gestion de fichier.

Auteur:
Sylvain DOREMUS
Version:
0.6.1.0
Date:
03/01/2011
Remarques:
Ajoute quelques fonctions statiques de vérification d'existence, suppression, ...

Documentation des énumérations membres

Mode d'encodage des fichiers texte.

Valeurs énumérées:
eENCODING_MODE_AUTO 

Encodage de texte en sélection automatique.

eENCODING_MODE_ASCII 

Encodage de texte en ASCII.

eENCODING_MODE_UNICODE 

Encodage de texte en UNICODE.

eENCODING_MODE_UTF8 

Encodage de texte en UTF8.

eENCODING_MODE_UTF16 

Encodage de texte en UTF16.

Modes d'offset pour la fonction seek.

Valeurs énumérées:
eOFFSET_MODE_BEGINNING 

L'offset est défini par rapport au début du fichier.

eOFFSET_MODE_CURRENT 

L'offset est défini par rapport à la position actuelle.

eOFFSET_MODE_END 

L'offset est défini par rapport à la fin du fichier.

Enumérateur des modes d'ouverture.

Valeurs énumérées:
eOPEN_MODE_DUMMY 

Mode d'ouverture 'dummy', à ne pas utiliser.

eOPEN_MODE_READ 

Mode d'ouverture en lecture.

eOPEN_MODE_WRITE 

Mode d'ouverture en création / écriture.

eOPEN_MODE_APPEND 

Mode d'ouverture en écriture en fin de fichier.

eOPEN_MODE_BINARY 

Mode d'ouverture en binaire.

eOPEN_MODE_COUNT 

Documentation des constructeurs et destructeur

Castor::File::File ( Path const &  p_fileName,
int  p_iMode,
eENCODING_MODE  p_eEncoding = eENCODING_MODE_ASCII 
)

Ouvre le fichier situé au chemin donné, avec le mode et l'encodage donnés

Paramètres:
[in] p_fileName Le chemin du fichier
[in] p_iMode Le mode d'ouverture, combinaison d'un ou plusieurs eOPEN_MODE
[in] p_eEncoding L'encodage pour un fichier en mode texte
Castor::File::File ( File const &  p_file  ) 

Constructeur par copie

Castor::File::File ( File &&  p_file  ) 

Constructeur par déplacement

virtual Castor::File::~File (  )  [virtual]

Destructeur, ferme le fichier


Documentation des fonctions membres

std::size_t Castor::File::CopyToString ( String p_strOut  ) 

Copie tout le contenu de ce fichier dans une chaîne de caractères

Paramètres:
[out] p_strOut Reçoit le contenu
Renvoie:
Le nombre d'octets lus
static Path Castor::File::DirectoryGetCurrent (  )  [static]

Donne le répertoire d'exécution

Renvoie:
Le répertoire
static bool Castor::File::FileExists ( Path const &  p_pathFile  )  [static]

Teste l'existence d'un fichier.

Paramètres:
[in] p_pathFile Le chemin du fichier
Renvoie:
true si le fichier existe
Path const& Castor::File::GetFileFullPath (  )  const [inline]
Path Castor::File::GetFileName (  )  const [inline]

Voici le graphe d'appel pour cette fonction :

Path Castor::File::GetFilePath (  )  const [inline]

Voici le graphe d'appel pour cette fonction :

long long Castor::File::GetLength (  ) 
bool Castor::File::IsOk (  )  const
static bool Castor::File::ListDirectoryFiles ( Path const &  p_folderPath,
StringArray p_files,
bool  p_recursive = false 
) [static]

Liste tous les fichiers d'un répertoire, récursivement ou pas

Paramètres:
[in] p_folderPath Le chemin du dossier
[out] p_files Reçoit la liste des fichiers
[in] p_recursive Définit si la recherche doit être récursive ou pas
Renvoie:
true si le dossier a été listé
template<typename T >
File & Castor::File::operator<< ( T const &  p_toWrite  ) 

Fonction d'écriture dépendant du mode d'ouverture

Paramètres:
[in] p_toWrite La donnée à écrire dans le fichier
Renvoie:
Une référence sur ce fichier
File& Castor::File::operator= ( File &&  p_file  ) 

Opérateur d'affectation par déplacement

Paramètres:
[in] p_file Le fichier à déplacer
Renvoie:
Une référence sur ce fichier
File& Castor::File::operator= ( File const &  p_file  ) 

Opérateur d'affectation par copie

Paramètres:
[in] p_file Le fichier à copier
Renvoie:
Une référence sur ce fichier
template<typename T >
File & Castor::File::operator>> ( T &  p_toRead  ) 

Fonction de lecture dépendant du mode d'ouverture

Paramètres:
[out] p_toRead La donnée à lire à partir du fichier
Renvoie:
Une référence sur ce fichier
std::size_t Castor::File::Print ( std::size_t  p_uiMaxSize,
xchar const *  p_pFormat,
  ... 
)

Ecrit un texte formaté dans le fichier

Paramètres:
[in] p_uiMaxSize La taille maximale du texte
[in] p_pFormat Le format du texte
[in] ... Paramètres POD (cf. printf)
Renvoie:
Le nombre d'octets écrits
bool Castor::File::Read ( String p_strToRead  ) 

Lit une chaîne de caractères à partir du fichier (en binaire, donc lit d'abord la taille puis le contenu)

Paramètres:
[out] p_strToRead La chaîne
Renvoie:
true si la lecture s'est bien déroulée
template<typename T >
std::size_t Castor::File::Read ( T &  p_toRead  ) 

Lit un objet à partir du fichier

Paramètres:
[out] p_toRead L'objet
Renvoie:
Le nombre d'octets lus
template<typename T , std::size_t N>
std::size_t Castor::File::ReadArray ( T(&)  p_toRead[N]  ) 

Lit un tableau statique d'objets à partir du fichier

Paramètres:
[in,out] p_toRead Le tableau d'objets
Remarques:
La taille du tableau est déduite à partir du paramètre
Renvoie:
Le nombre d'octets lus
template<typename T >
std::size_t Castor::File::ReadArray ( T *  p_toRead,
std::size_t  p_count 
)

Lit un tableau dynamique d'objets à partir du fichier

Paramètres:
[in,out] p_toRead Le tableau d'objets (doit être alloué avant l'appel)
[in] p_count La taille du tableau
Renvoie:
Le nombre d'octets lus
std::size_t Castor::File::ReadChar ( xchar p_toRead  ) 

Lit un caractère à partir du fichier

Paramètres:
[out] p_toRead Reçoit le caractère lu
Renvoie:
Le nombre d'octets lus
std::size_t Castor::File::ReadLine ( String p_toRead,
std::size_t  p_size,
String  p_strSeparators = cuT("\r\n") 
)

Lit une ligne à partir du fichier (s'arrête au premier séparateur rencontré ou quand la taille est atteinte)

Paramètres:
[out] p_toRead Reçoit la ligne lue
[in] p_size La taille maximale de la ligne
[in] p_strSeparators La liste des séparateurs de ligne
Renvoie:
Le nombre d'octets lus
std::size_t Castor::File::ReadWord ( String p_toRead  ) 

Lit un mot à partir du fichier (s'arrête au premier ' ' rencontré)

Paramètres:
[out] p_toRead Reçoit le mot lu
Renvoie:
Le nombre d'octets lus
int Castor::File::Seek ( long long  p_i64Offset,
eOFFSET_MODE  p_eOrigin = eOFFSET_MODE_BEGINNING 
)

Fonction de déplacement dans le fichier, selon l'offset et le mode donnés

Paramètres:
[in] p_i64Offset L'offset
[in] p_eOrigin Le mode
Renvoie:
0 si réussi
long long Castor::File::Tell (  ) 
template<typename T >
std::size_t Castor::File::Write ( T const &  p_toWrite  ) 

Ecrit un objet dans le fichier

Paramètres:
[in] p_toWrite L'objet
Renvoie:
Le nombre d'octets écrits
bool Castor::File::Write ( String const &  p_strToWrite  ) 

Ecrit une chaîne de caractères dans le fichier (en binaire, donc écrit d'abord la taille puis le contenu, sans le '')

Paramètres:
[in] p_strToWrite La chaîne
Renvoie:
true si l'écriture s'est bien déroulée
template<typename T >
std::size_t Castor::File::WriteArray ( T const *  p_toWrite,
std::size_t  p_count 
)

Ecrit un tableau dynamique d'objets dans du fichier

Paramètres:
[in] p_toWrite Le tableau d'objets
[in] p_count La taille du tableau
Renvoie:
Le nombre d'octets écrits
template<typename T , std::size_t N>
std::size_t Castor::File::WriteArray ( T const (&)  p_toWrite[N]  ) 

Ecrit un tableau statique d'objets dans du fichier

Remarques:
La taille du tableau est déduite à partir du paramètre
Paramètres:
[in] p_toWrite Le tableau d'objets
Renvoie:
Le nombre d'octets écrits
std::size_t Castor::File::WriteText ( String const &  p_strText  ) 

Ecrit une texte dans le fichier

Paramètres:
[in] p_strText Le texte
Renvoie:
Le nombre d'octets écrits

La documentation de cette classe a été générée à partir des fichiers suivants :
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définition de type Énumérations Valeurs énumérées Amis Macros