SFile

Klasse zur Verwaltung einer Datei.

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SFile  

Attribute

public:

Attribut Typ Beschreibung
errorText SString letzter Fehlertext

protected:

Attribut Typ Beschreibung
fullname SString Dateiname mit absolutem Pfad
hfile FILE* Dateihandle des Betriebssystems

Operationen

public:

Name Parameter Rückgabewert Beschreibung
clearContent BOOL Löscht den Inhalt der aktuell offenen Datei.
close void Schließt die Datei.
create const SString& filename,
BOOL noErrorMsg=false
BOOL Legt eine Datei an und öffnet diese zum Lesen und Schreiben. Existiert diese Datei bereits, so wird deren Inhalt gelöscht.
createTempFile const SString& prefix="svl",
const SString& otherPath=""
BOOL Generiert einen nichtexistierenden temporären Dateinamen und erzeugt die Datei.
flush void Schreibt alle Dateipuffer auf die Medien.
getFullName SString Gibt den vollständigen Pfad und Dateinamen der geöffneten Datei zurück.
getName SString Gibt den Dateinamen (ohne Pfad) der geöffneten Datei zurück.
getPos int Gibt die aktuelle Dateizeiger-Position zurück. Bei Fehler wird 0 zurückgegeben und errorText enthält die Fehlerbeschreibung. Wenn kein Fehler auftritt ist errorText leer.
getSize int Ermittelt die Größe der geöffneten Datei.
isOpened BOOL Ermittelt ob die Datei geöffnet ist.
open const SString& filename,
const SString& mode="rb",
BOOL noErrorMsg=false
BOOL Öffnet eine Datei.
read void* pBuffer, int size int Liest Daten aus der Datei in einen Buffer.
readBinFile const SString& filename,
SMem& mem,
SString* pErrorMessage=NULL
BOOL Liest eine komplette binäre Datei in das zu übergebene SMem-Objekt.
readText int length=SFILE_ALL SString Liest einen String ab der aktuellen Position.
readTextFile const SString& filename,
SString* pErrorMessage =NULL
SString Liest ein komplettes Textfile in einen String.
seek int offset,
int basis=SEEK_SET
BOOL Setzt den Dateizeiger auf eine bestimmte Position.
setSize int newSize BOOL Legt Die Dateigröße fest.
write void* data, int size BOOL Schreibt Daten in die Datei an aktueller Position.
writeBinFile const SString& filename,
SMem& mem,
SString* pErrorMessage=NULL
BOOL Schreibt eine komplette binäre Datei aus dem zu übergebenen SMem-Objekt. Legt die Datei an, existiert diese Datei bereits, so wird deren Inhalt gelöscht.
writeText const SString& content BOOL Schreibt einen String an der aktuellen Position in die Datei.
writeTextFile const SString& filename,
const SString& content,
SString* pErrorMessage=NULL
BOOL Überschreibt bzw. erzeugt ein Textfile.

Detailbeschreibung SFile

Klasse zur Verwaltung einer Datei.

Funktionsbeschreibungen

clearContent() BOOL

Löscht den Inhalt der aktuell offenen Datei.

Rückgabe:

BOOL true wenn erfolgreich

close() void

Schließt die Datei.

Soll das SFile-Objekt zur Verwaltung einer neuen Datei benutzt werden ist ein explizites Schließen der Datei nicht notwendig.

create(const SString& filename,BOOL noErrorMsg=false) BOOL

Legt eine Datei an und öffnet diese zum Lesen und Schreiben. Existiert diese Datei bereits, so wird deren Inhalt gelöscht.

Parameter:

filename Dateiname mit Pfad
noErrorMessage Funktion gibt keine Fehlermeldung aus.

Rückgabe:

BOOL Datei wurde geöffnet.

createTempFile(const SString& prefix="svl", const SString& otherPath="") BOOL

Generiert einen nichtexistierenden temporären Dateinamen und erzeugt die Datei.

Parameter:

prefix zu verwendender Dateinamensvorsatz (maximal 3 Zeichen)
otherPath Pfad in dem die Datei erzeugt werden soll, wenn nicht angegeben wird das aktuelle Temp-Verzeichnis verwendet.

Rückgabe:

BOOL true wenn erfolgreich

flush() void

Schreibt alle Dateipuffer auf die Medien.

getFullName() SString

Gibt den vollständigen Pfad und Dateinamen der geöffneten Datei zurück.

Rückgabe:

SString Dateiname mit Pfad

getName() SString

Gibt den Dateinamen (ohne Pfad) der geöffneten Datei zurück.

Rückgabe:

SString Dateiname ohne Pfad

getPos() int

Gibt die aktuelle Dateizeiger-Position zurück. Bei Fehler wird 0 zurückgegeben und errorText enthält die Fehlerbeschreibung. Wenn kein Fehler auftritt ist errorText leer.

Rückgabe:

int Position des Dateizeigers

getSize() int

Ermittelt die Größe der geöffneten Datei.

Rückgabe:

int Dateigröße in Byte

isOpened() BOOL

Ermittelt ob die Datei geöffnet ist.

Rückgabe:

BOOL true wenn die Datei geöffnet ist

open(const SString& filename, const SString& mode="rb", BOOL noErrorMsg=false) BOOL

Öffnet eine Datei.

Sollte das SFile-Objekt schon eine geöffnete Datei enthalten, wird diese zuvor geschlossen.

Parameter:

mode Modus bei Öffnen,
  • "r" - zum Lesen
  • "r+" - zum Lesen und schreiben, die Datei muss existieren
  • "w+" - zum lesen und schreiben, die Datei wird angelegt und eine eventuell vorhandene Datei wird gelöscht
  • 't' und 'b' können zusätzlich für Text- oder Binary-Mode angegeben werden. Binary-Mode wird verwendet, wenn keine Angabe erfolgt.
noErrorMessage keine Fehlermeldung ausgeben.

Rückgabe:

BOOL Datei wurde geöffnet.

read(void* pBuffer, int size) int

Liest Daten aus der Datei in einen Buffer.

Parameter:

pBuffer Zeiger auf Speicher, in dem die Daten abgelegt werden sollen.
size Anzahl der Bytes die lesen werden sollen.

Rückgabe:

int Anzahl der tatsächlich gelesenen Bytes.

static readBinFile(const SString& filename, SMem& mem, SString* pErrorMessage=NULL) BOOL

Liest eine komplette binäre Datei in das zu übergebene SMem-Objekt.

Parameter:

filename Pfad und Dateiname der zu lesenden Datei
mem SMem-Objekt das den Datei-Inhalt aufnehmen soll.
pErrorMessage Zeiger auf SString, der eine eventuelle Fehlermeldung aufnehmen soll, wenn nicht angegeben oder NULL wird eine Ausschrift erzeugt

Rückgabe:

BOOL true wenn erfolgreich

readText(int length=SFILE_ALL) SString

Liest einen String ab der aktuellen Position.

Parameter:

length Länge des Strings, wenn nicht angegeben wird bis zum Dateiende gelesen

static readTextFile(const SString& filename, SString* pErrorMessage =NULL) SString

Liest ein komplettes Textfile in einen String.

Parameter:

filename Pfad und Dateiname der zu lesenden Datei
pErrorMessage Zeiger auf SString, der eine eventuelle Fehlermeldung aufnehmen soll, wenn nicht angegeben oder NULL wird eine Ausschrift erzeugt

Rückgabe:

SString gelesener Inhalt, wenn ein Fehler auftrat ist es leer

seek(int offset, int basis=SEEK_SET) BOOL

Setzt den Dateizeiger auf eine bestimmte Position.

Parameter:

offset Distance ausgehend von der Basis.
basis Bezugspunkt für offset, eines von:
  • SEEK_SET = von Beginn (offset sollte positiv sein)
  • SEEK_CUR = aktueller Position (offset kann positiv oder negativ sein)
  • SEEK_END = vom Ende (offset sollte negativ sein)

setSize(int newSize) BOOL

Legt Die Dateigröße fest.

Parameter:

newSize neue Dateigröße

write(void* data, int size) BOOL

Schreibt Daten in die Datei an aktueller Position.

Parameter:

data Zeiger auf Daten
size Anzahl der zu schreibenden Bytes

Rückgabe:

BOOL Anzahl der geschrieben Bytes.

static writeBinFile(const SString& filename, SMem& mem, SString* pErrorMessage=NULL) BOOL

Schreibt eine komplette binäre Datei aus dem zu übergebenen SMem-Objekt. Legt die Datei an, existiert diese Datei bereits, so wird deren Inhalt gelöscht.

Parameter:

filename Pfad und Dateiname der zu schreibenden Datei
mem SMem-Objekt das den Datei-Inhalt beinhaltet
pErrorMessage Zeiger auf SString, der eine eventuelle Fehlermeldung aufnehmen soll, wenn nicht angegeben wird eine Ausschrift erzeugt

Rückgabe:

BOOL true wenn erfolgreich

writeText(const SString& content) BOOL

Schreibt einen String an der aktuellen Position in die Datei.

Parameter:

content zu schreibender String

Rückgabe:

BOOL Schreiben erfolgreich

static writeTextFile(const SString& filename, const SString& content, SString* pErrorMessage=NULL) BOOL

Überschreibt bzw. erzeugt ein Textfile.

Parameter:

filename Pfad und Dateiname der zu schreibenden Datei
content zu schreibender Dateiinhalt
pErrorMessage Zeiger auf SString, der eine eventuelle Fehlermeldung aufnehmen soll, wenn nicht angegeben wird eine Ausschrift erzeugt