Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor::TextFile

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

#include <TextFile.hpp>

Graphe d'héritage de castor::TextFile:
Inheritance graph
[légende]
Graphe de collaboration de castor::TextFile:
Collaboration graph
[légende]

Fonctions membres publiques

CU_API TextFile (Path const &fileName, FlagCombination< OpenMode > const &mode, EncodingMode encoding=EncodingMode::eASCII)
 Ouvre le fichier situé au chemin donné, avec le mode et l'encodage donnés.
 
CU_API uint64_t readLine (String &toRead, uint64_t size, StringView separators=cuT("\r\n"))
 Lit une ligne à partir du fichier (s'arrête au premier séparateur rencontré ou quand la taille est atteinte)
 
CU_API uint64_t readWord (String &toRead)
 Lit un mot à partir du fichier (s'arrête au premier ' ' rencontré)
 
CU_API uint64_t readChar (xchar &toRead)
 Lit un caractère à partir du fichier.
 
CU_API uint64_t copyToString (String &out)
 Copie tout le contenu de ce fichier dans une chaîne de caractères.
 
CU_API uint64_t writeText (String const &text)
 Ecrit une texte dans le fichier.
 
- Fonctions membres publiques hérités de castor::File
virtual CU_API ~File () noexcept
 Destructeur, ferme le fichier.
 
CU_API int seek (long long offset, OffsetMode origin=OffsetMode::eBeginning)
 Fonction de déplacement dans le fichier, selon l'offset et le mode donnés.
 
CU_API long long getLength ()
 Récupère la taille du fichier.
 
CU_API bool isOk () const
 Dit si le curseur du fichier est OK.
 
CU_API long long tell ()
 Récupère la position du curseur du fichier.
 
Path const & getFileFullPath () const
 Récupère le chemin, nom et extension du fichier.
 
Path getFilePath () const
 Récupère le chemin du fichier.
 
Path getFileName () const
 Récupère le nom et l'extension du fichier.
 

Membres hérités additionnels

- Types publics hérités de castor::File
enum class  CreateMode : uint32_t {
  eUserRead = 0x00000001 , eUserWrite = 0x00000002 , eUserExec = 0x00000004 , eGroupRead = 0x00000010 ,
  eGroupWrite = 0x00000020 , eGroupExec = 0x00000040 , eOthersRead = 0x00000100 , eOthersWrite = 0x00000200 ,
  eOthersExec = 0x00000400 , eUserRWX = eUserRead | eUserWrite | eUserExec , eGroupRWX = eGroupRead | eGroupWrite | eGroupExec , eOthersRWX = eOthersRead | eOthersWrite | eOthersExec ,
  eAllRWX = eUserRWX | eGroupRWX | eOthersRWX
}
 Enumérateur des modes d'ouverture. Plus de détails...
 
enum class  OpenMode : uint32_t {
  eDummy = 0x00000000 , eRead = 0x00000001 , eWrite = 0x00000002 , eAppend = 0x00000004 ,
  eBinary = 0x00000008
}
 Enumérateur des modes d'ouverture. Plus de détails...
 
enum class  OffsetMode : uint8_t {
  eBeginning = 0 , eCurrent = 1 , eEnd = 2 , eCount ,
  eMin = eBeginning
}
 Modes d'offset pour la fonction seek. Plus de détails...
 
enum class  EncodingMode : uint8_t {
  eAuto = 0 , eASCII = 1 , eUTF8 = 2 , eUTF16 = 3 ,
  eCount , eMin = eAuto
}
 Mode d'encodage des fichiers texte. Plus de détails...
 
using TraverseDirFunction = castor::Function< bool( Path const & path ) >
 
using HitFileFunction = castor::Function< void( Path const & folder, String const & name ) >
 
using FilterFunction = castor::Function< bool( Path const & folder, String const & name ) >
 
- Fonctions membres publiques statiques hérités de castor::File
static CU_API bool traverseDirectory (Path const &folderPath, TraverseDirFunction const &directoryFunction, HitFileFunction const &fileFunction)
 Traverses the files and directories of a directory.
 
static CU_API PathArray filterDirectoryFiles (Path const &folderPath, FilterFunction const &onFile, bool recursive=false)
 Filters the files in a directory, recursively or not.
 
static CU_API bool listDirectoryFiles (Path const &folderPath, PathArray &files, bool recursive=false)
 Liste tous les fichiers d'un répertoire, récursivement ou pas.
 
static CU_API Path getExecutableDirectory ()
 donne le répertoire d'exécution
 
static CU_API Path getUserDirectory ()
 donne le répertoire de l'utilisateur courant
 
static CU_API bool directoryExists (Path const &folderPath)
 Teste l'existence d'un dossier.
 
static CU_API bool directoryCreate (Path const &folderPath, FlagCombination< CreateMode > const &flags=CreateMode::eAllRWX)
 Crée un dossier.
 
static CU_API bool directoryDelete (Path const &folderPath)
 Supprime un dossier vide.
 
static CU_API bool fileExists (Path const &filePath)
 Teste l'existence d'un fichier.
 
static CU_API bool deleteFile (Path const &filePath)
 Supprime un fichier.
 
static CU_API bool copyFile (Path const &filePath, Path const &folderPath, bool allowReplace=false)
 Copie un fichier dans un dossier.
 
static CU_API bool copyFileName (Path const &srcFileName, Path const &dstFileName, bool allowReplace=false)
 Copie un fichier.
 
static CU_API String normaliseFileName (String const &name)
 Remplace les caractères non valides pour un nim de fichier par des '_'.
 
- Fonctions membres protégées hérités de castor::File
CU_API File (Path const &filePath, FlagCombination< OpenMode > const &mode, EncodingMode encoding=EncodingMode::eASCII)
 Ouvre le fichier situé au chemin donné, avec le mode et l'encodage donnés.
 
 CU_DeclareInvariantBlock ()
 
CU_API uint64_t doWrite (uint8_t const *buffer, uint64_t size)
 
CU_API uint64_t doRead (uint8_t *buffer, uint64_t size)
 
- Fonctions membres protégées hérités de castor::NonMovable
 NonMovable ()=default
 Constructeur.
 
 ~NonMovable () noexcept=default
 Destructeur.
 
- Attributs protégés hérités de castor::File
FlagCombination< OpenModem_mode { 0u }
 
EncodingMode m_encoding { EncodingMode::eASCII }
 
Path m_fileFullPath
 
FILE * m_file { nullptr }
 
uint64_t m_cursor { 0 }
 
uint64_t m_length { 0 }
 

Description détaillée

Classe de gestion de fichier texte.

Documentation des constructeurs et destructeur

◆ TextFile()

CU_API castor::TextFile::TextFile ( Path const & fileName,
FlagCombination< OpenMode > const & mode,
EncodingMode encoding = EncodingMode::eASCII )

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

Paramètres
[in]fileNameLe chemin du fichier
[in]modeLe mode d'ouverture, combinaison d'un ou plusieurs OpenMode
[in]encodingL'encodage pour un fichier en mode texte

Documentation des fonctions membres

◆ copyToString()

CU_API uint64_t castor::TextFile::copyToString ( String & out)

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

Paramètres
[out]outReçoit le contenu
Renvoie
Le nombre d'octets lus

◆ readChar()

CU_API uint64_t castor::TextFile::readChar ( xchar & toRead)

Lit un caractère à partir du fichier.

Paramètres
[out]toReadReçoit le caractère lu
Renvoie
Le nombre d'octets lus

◆ readLine()

CU_API uint64_t castor::TextFile::readLine ( String & toRead,
uint64_t size,
StringView separators = 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]toReadReçoit la ligne lue
[in]sizeLa taille maximale de la ligne
[in]separatorsLa liste des séparateurs de ligne
Renvoie
Le nombre d'octets lus

◆ readWord()

CU_API uint64_t castor::TextFile::readWord ( String & toRead)

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

Paramètres
[out]toReadReçoit le mot lu
Renvoie
Le nombre d'octets lus

◆ writeText()

CU_API uint64_t castor::TextFile::writeText ( String const & text)

Ecrit une texte dans le fichier.

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

La documentation de cette classe a été générée à partir du fichier suivant :