PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
Dateien und Verzeichnise

Funktionen und Klassen zur Verarbeitung von Dateien und Verzeichnissen. Mehr ...

Ausführliche Beschreibung

Klassen

class  ppl6::CDir
 Klasse zum Durchsuchen von Verzeichnissen. Mehr ...
 
class  ppl6::CDirEntry
 Dateiverzeichnis-Eintrag. Mehr ...
 
class  ppl6::CFile
 Dateizugriff. Mehr ...
 
class  ppl6::CFileObject
 Virtuelle Basisklasse für CFile und CMemFile. Mehr ...
 
class  ppl6::CMemFile
 Simulation von Dateizugriffen im Hauptspeicher. Mehr ...
 

Namensbereiche

 FILEATTR
 Definitionen der Datei-Attribute.
 

Funktionen

static int ppl6::CFile::Chmod (const CString &filename, int attr)
 Setz die Attribute einer exisitierenden Datei. Mehr ...
 
static int ppl6::CFile::CopyFile (const CString &oldfile, const CString &newfile, size_t buffersize=0)
 Datei kopieren. Mehr ...
 
static CString ppl6::CDir::CurrentPath ()
 Aktuelles Verzeichnis. Mehr ...
 
static int ppl6::CFile::DeleteFile (const CString &filename)
 Datei löschen. Mehr ...
 
static int ppl6::CFile::DeleteFilef (const char *filename,...)
 Datei löschen. Mehr ...
 
static int ppl6::CFile::Exists (const CString &filename)
 Prüfen, ob eine Datei existiert. Mehr ...
 
static int ppl6::CFile::Existsf (const char *fmt,...)
 Prüfen, ob eine Datei existiert. Mehr ...
 
static int ppl6::CFile::FileAttr (int attr, const CString &filename)
 Setz die Attribute einer exisitierenden Datei. Mehr ...
 
static int ppl6::CFile::FileAttrf (int attr, const char *filename,...)
 Setz die Attribute einer exisitierenden Datei. Mehr ...
 
static CString ppl6::CDir::homePath ()
 Homeverzeichnis des aktuellen Users. Mehr ...
 
static int ppl6::CFile::LoadFile (CVar &object, const CString &filename)
 Datei öffnen und den kompletten Inhalt in ein Objekt laden. Mehr ...
 
static void * ppl6::CFile::LoadFile (const CString &filename, size_t *size=NULL)
 Kompletten Inhalt einer Datei laden. Mehr ...
 
static int ppl6::CFile::MoveFile (const CString &oldfile, const CString &newfile)
 Datei verschieben oder umbenennen. Mehr ...
 
static int ppl6::CFile::RenameFile (const CString &oldfile, const CString &newfile)
 Datei verschieben oder umbenennen. Mehr ...
 
static CString ppl6::CDir::tempPath ()
 Verzeichnis für temporäre Dateien. Mehr ...
 
static int ppl6::CFile::TouchFile (const CString &filename)
 Leere Datei anlegen oder die Zeitstempel des letzten Zugriffs aktualisieren. Mehr ...
 
static int ppl6::CFile::TouchFilef (const char *filename,...)
 Leere Datei anlegen oder die Zeitstempel des letzten Zugriffs aktualisieren. Mehr ...
 
static int ppl6::CFile::Truncate (const CString &filename, ppluint64 bytes)
 Datei abschneiden. Mehr ...
 
static int ppl6::CFile::WriteFilef (const void *content, size_t size, const char *filename,...)
 Daten in Datei schreiben. Mehr ...
 
static int ppl6::CFile::WriteFilef (const CVar &object, const char *filename,...)
 Daten eines von CVar abgeleiteten Objekts in Datei schreiben. Mehr ...
 

Dokumentation der Funktionen

int ppl6::CFile::Chmod ( const CString filename,
int  attr 
)
static
Beschreibung:
Mit dieser Funktion können die Zugriffsattribute einer existierenden Datei gesetzt werden.
Parameter
filenameDer Dateinamen
attrDie Attribute
int ppl6::CFile::CopyFile ( const CString oldfile,
const CString newfile,
size_t  buffersize = 0 
)
static

Mit CopyFile wird die Datei oldfile nach newfile kopiert. Dazu wird die Quelldatei Stück für Stück zunächst in den Hauptspeicher geladen und dann in die Zieldatei geschrieben. War die Zieldatei newfile schon vorhanden, wird sie überschrieben. Anders als bei CFile::MoveFile oder CFile::RenameFile müssen die beiden Dateien nicht im gleichen Filesystem liegen.

Parameter
oldfileName der zu kopierenden Datei
newfileName der Zieldatei.
buffersizeOptionaler Wert, der die Größe des Copy-Buffers im Speicher angibt. Der Default ist 1 MB.
Rückgabe
Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0.
CString ppl6::CDir::CurrentPath ( )
static

Diese Funktion liefert das aktuelle Verzeichnis zurück.

Rückgabe
String mit dem aktuellen Verzeichnis
int ppl6::CFile::DeleteFile ( const CString filename)
static

Mit dieser Funktion wird die Datei filename vom Datenträger gelöscht.

Parameter
filenameName der gewünschten Datei
Rückgabe
Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0. Ein Fehler kann auftreten, wenn die Datei garnicht vorhanden ist oder die notwendigen Zugriffsrechte fehlen.
int ppl6::CFile::DeleteFilef ( const char *  filename,
  ... 
)
static

Mit dieser Funktion wird die Datei filename vom Datenträger gelöscht.

Parameter
filenameName der gewünschten Datei oder ein Formatstring, falls der Dateiname anhand von weiteren Parametern zusammengesetzt werden muss
...Optionale weitere Parameter, die in den vorhergehenden Formatstring filename eingesetzt werden sollen
Rückgabe
Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0. Ein Fehler kann auftreten, wenn die Datei garnicht vorhanden ist oder die notwendigen Zugriffsrechte fehlen.
int ppl6::CFile::Exists ( const CString filename)
static

Mit Exists kann geprüft werden, ob eine Datei im Filesystem vorhanden ist.

Parameter
fmtName der gewünschten Datei
Rückgabe
Ist die Datei forhanden, gibt die Funktion 1 zurück, andernfalls 0.
int ppl6::CFile::Existsf ( const char *  fmt,
  ... 
)
static

Mit Exists kann geprüft werden, ob eine Datei im Filesystem vorhanden ist.

Parameter
fmtName der gewünschten Datei oder ein Formatstring, falls der Dateiname anhand von weiteren Parametern zusammengesetzt werden muss
...Optionale weitere Parameter, die in den vorhergehenden Formatstring fmt eingesetzt werden sollen
Rückgabe
Ist die Datei forhanden, gibt die Funktion 1 zurück, andernfalls 0.
int ppl6::CFile::FileAttr ( int  attr,
const CString filename 
)
static
Beschreibung:
Mit dieser Funktion können die Zugriffsattribute einer existierenden Datei gesetzt werden.
Parameter
attrEin Wert, der die Attribute enthält
int ppl6::CFile::FileAttrf ( int  attr,
const char *  filename,
  ... 
)
static
Beschreibung:
Mit dieser Funktion können die Zugriffsattribute einer existierenden Datei gesetzt werden.
Parameter
attrEin Wert, der die Attribute enthält
CString ppl6::CDir::homePath ( )
static
Beschreibung:
Diese statische Funktion liefert das Homeverzeichnis des aktuellen Benutzers zurück.
Rückgabe
String mit dem Verzeichnis
Ausnahmebehandlung
UnsupportedFeatureExceptionWird geworfen, wenn das Homeverzeichnis nicht ermittelt werden kann.
int ppl6::CFile::LoadFile ( CVar object,
const CString filename 
)
static

Mit dieser Funktion wird eine Datei zum Lesen geöffnet und der komplette Inhalt in das angegebene Objekt geladen. Unterstützt werden zur Zeit folgende Objekte:

Parameter
[out]objectDas gewünschte Zielobjekt
[in]filenameDer Dateiname
Rückgabe
Liefert 1 zurück, wenn die Datei geöffnet und der Inhalt geladen werden konnte, sonst 0.
void * ppl6::CFile::LoadFile ( const CString filename,
size_t *  size = NULL 
)
static

Mit dieser Funktion wird eine Datei zum Lesen geöffnet und der komplette Inhalt in den Speicher geladen.

Parameter
[in]filenameDer Dateiname
[out]sizeWird ein Pointer auf size übergeben, wird darin die Größe der geladenen Datei gespeichert.
Rückgabe
Bei Erfolg liefert die Funktion einen Pointer auf den Speicherbereich zurück, in den die Datei geladen wurde. Der Aufrufer ist dafür verantwortlich, dass der Speicher nach Gebrauch mit free wieder freigegeben wird. Im Fehlerfall wird NULL zurückgegeben.
int ppl6::CFile::MoveFile ( const CString oldfile,
const CString newfile 
)
static

Mit dieser Funktion wird die Datei oldfile zu newfile umbenannt. Sie ist identisch mit CFile::RenameFile. Beide Funktionen arbeiten am effizientesten, wenn die Zieldatei im gleichen Filesystem liegt, da in diesem Fall nur die Verzeichniseinträge geändert werden müssen. Ist dies nicht der Fall, wird automatisch die wesentlich langsamere Funktion CFile::CopyFile gefolgt von CFile::DeleteFile aufgerufen.

Parameter
oldfileName der zu verschiebenden bzw. umzubenennenden Datei
newfileNeuer Name
Rückgabe
Bei Erfolg wird 1 zurückgegeben, im Fehlerfall 0.
int ppl6::CFile::RenameFile ( const CString oldfile,
const CString newfile 
)
static

Mit dieser Funktion wird die Datei oldfile zu newfile umbenannt. Sie ist identisch mit CFile::RenameFile. Beide Funktionen arbeiten am effizientesten, wenn die Zieldatei im gleichen Filesystem liegt, da in diesem Fall nur die Verzeichniseinträge geändert werden müssen. Ist dies nicht der Fall, wird automatisch die wesentlich langsamere Funktion CFile::CopyFile gefolgt von CFile::DeleteFile aufgerufen.

Parameter
oldfileName der zu verschiebenden bzw. umzubenennenden Datei
newfileNeuer Name
Rückgabe
Bei Erfolg wird 1 zurückgegeben, im Fehlerfall 0.
Noch zu erledigen:
Diese Funktion ist nicht Windows-kompatibel, wenn Non-US-ASCII-Zeichen in den Dateinamen vorkommen!!! Statt rename muss _wrename verwendet werden, statt fopen _wfopen, jeweils mit "const wchar_t *" Pointern.
CString ppl6::CDir::tempPath ( )
static
Beschreibung:
Diese statische Funktion liefert das Verzeichnis zurück, in dem temporäre Dateien abgelegt werden können.
Rückgabe
String mit dem Verzeichnis
int ppl6::CFile::TouchFile ( const CString filename)
static

TouchFile arbeitet ähnlich wie das Unix-Lommando touch. Ist die angegebene Datei filename noch nicht vorhanden, wird sie als leere Datei angelegt. Ist sie bereits vorhanden, wird der Zeitstempel des letzen Zugriffs aktualisiert.

Parameter
filenameName der gewünschten Datei
Rückgabe
Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0.
int ppl6::CFile::TouchFilef ( const char *  filename,
  ... 
)
static

TouchFile arbeitet ähnlich wie das Unix-Lommando touch. Ist die angegebene Datei filename noch nicht vorhanden, wird sie als leere Datei angelegt. Ist sie bereits vorhanden, wird der Zeitstempel des letzen Zugriffs aktualisiert.

Parameter
filenameName der gewünschten Datei oder ein Formatstring, falls der Dateiname anhand von weiteren Parametern zusammengesetzt werden muss
...Optionale weitere Parameter, die in den vorhergehenden Formatstring filename eingesetzt werden sollen
Rückgabe
Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0.
int ppl6::CFile::Truncate ( const CString filename,
ppluint64  bytes 
)
static

Die Funktionen Truncate bewirkt, dass die mit filename angegebene Datei an der Position bytes abgeschnitten wird.

Wenn die Datei vorher größer war, gehen überschüssige Daten verloren. Wenn die Datei vorher kleiner war, wird sie vergrößert und die zusätzlichen Bytes werden als Nullen geschrieben.

Parameter
filenameDer Name der gewünschten Datei
bytesPosition, an der die Datei abgeschnitten werden soll.
Rückgabe
Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0.
int ppl6::CFile::WriteFilef ( const void *  content,
size_t  size,
const char *  filename,
  ... 
)
static

Mit dieser Funktion werden size Bytes aus dem Speicherbereich beginnend bei content in die Datei filename geschrieben. War die Datei bereits vorhanden, wird sie überschrieben.

Parameter
contentPointer auf den Speicherbereich, der in die Datei geschrieben werdem soll
sizeAnzahl zu schreibender Bytes
filenameName der gewünschten Datei oder ein Formatstring, falls der Dateiname anhand von weiteren Parametern zusammengesetzt werden muss
...Optionale weitere Parameter, die in den vorhergehenden Formatstring filename eingesetzt werden sollen
Rückgabe
Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0.
int ppl6::CFile::WriteFilef ( const CVar object,
const char *  filename,
  ... 
)
static

Mit dieser Funktion wird der Speicher des von CVar abgeleiteten Objekts object in die Datei filename geschrieben. War die Datei bereits vorhanden, wird sie überschrieben.

Parameter
objectEin von CVar abgeleitetes Objekt. Derzeit werden folgende Objekte unterstützt_
filenameName der gewünschten Datei oder ein Formatstring, falls der Dateiname anhand von weiteren Parametern zusammengesetzt werden muss
...Optionale weitere Parameter, die in den vorhergehenden Formatstring filename eingesetzt werden sollen
Rückgabe
Bei Erfolg gibt die Funktion die Anzahl geschriebender Bytes zurück, im Fehlerfall 0.