![]() | Patrick's Programming Library Version 6.4.21 - Dokumentation |
Simulation von Dateizugriffen im Hauptspeicher. Mehr ...
Öffentliche Methoden | |
CMemFile () | |
CMemFile (void *adresse, size_t size) | |
Konstruktor der Klasse mit Angabe eines Speicherbereichs. Mehr ... | |
CMemFile (const CMemoryReference &memory) | |
Konstruktor der Klasse mit Angabe eines Speicherbereichs. Mehr ... | |
~CMemFile () | |
char * | Adr (ppluint32 adresse) |
virtual int | Close () |
Datei schließen. Mehr ... | |
ppluint64 | Copy (CFileObject &quellfile, ppluint64 quelloffset, ppluint64 bytes, ppluint64 zieloffset) |
Daten aus einer anderen Datei kopieren. Mehr ... | |
ppluint64 | Copy (CFileObject &quellfile, ppluint64 bytes) |
Daten aus einer anderen Datei kopieren. Mehr ... | |
virtual ppluint64 | DoCopy (CFileObject &quellfile, ppluint64 bytes) |
Daten aus einer anderen Datei kopieren. Mehr ... | |
virtual bool | Eof () const |
Prüfen, ob Dateiende erreicht ist. Mehr ... | |
virtual char * | Fgets (char *buffer, size_t num=1024) |
String lesen. Mehr ... | |
virtual wchar_t * | Fgetws (wchar_t *buffer, size_t num=1024) |
Wide-Character String lesen. Mehr ... | |
CString | Filename () const |
Dateiname auslesen. Mehr ... | |
virtual int | Flush () |
Gepufferte Daten schreiben. Mehr ... | |
virtual size_t | Fread (void *ptr, size_t size, size_t nmemb) |
Lesen eines Datenstroms. Mehr ... | |
virtual int | Fseek (ppluint64 offset, int origin) |
Dateizeiger auf gewünschte Stelle bringen. Mehr ... | |
virtual pplint64 | Ftell () |
Aktuelle Dateiposition ermitteln. Mehr ... | |
virtual size_t | Fwrite (const void *ptr, size_t size, size_t nmemb) |
Schreiben eines Datenstroms. Mehr ... | |
virtual int | Getc () |
Zeichen lesen. Mehr ... | |
const char * | GetFilename () const |
Dateiname auslesen. Mehr ... | |
virtual int | GetFileNo () const |
Filenummer der Datei. Mehr ... | |
int | Gets (CString &buffer, size_t num=1024) |
String lesen. Mehr ... | |
char * | Gets (char *buffer, size_t num=1024) |
CString | Gets (size_t num=1024) |
String lesen. Mehr ... | |
virtual int | Getwc () |
Wide-Character Zeichen lesen. Mehr ... | |
int | Getws (CWString &buffer, size_t num=1024) |
Wide-Character String lesen. Mehr ... | |
wchar_t * | Getws (wchar_t *buffer, size_t num=1024) |
CWString | Getws (size_t num=1024) |
Wide-Character String lesen. Mehr ... | |
virtual bool | IsOpen () const |
Prüfen, ob eine Datei geöffnet ist. Mehr ... | |
char * | Load () |
Den kompletten Inhalt der Datei laden. Mehr ... | |
int | Load (CVar &target) |
Den kompletten Inhalt der Datei in ein Objekt laden. Mehr ... | |
virtual int | LockExclusive (bool block=true) |
Datei exklusiv sperren. Mehr ... | |
virtual int | LockShared (bool block=true) |
Datei zum Lesen sperren. Mehr ... | |
pplint64 | Lof () const |
Größe der geöffneten Datei. Mehr ... | |
const char * | Map () |
Datei in den Speicher mappen. Mehr ... | |
virtual const char * | Map (ppluint64 position, size_t size) |
Datei Read-Only in den Speicher mappen. Mehr ... | |
virtual char * | MapRW (ppluint64 position, size_t size) |
Datei Les- und Schreibbar in den Speicher mappen. Mehr ... | |
CString | MD5Sum () |
int | Open (void *adresse, ppluint32 size) |
Speicherbereich öffnen. Mehr ... | |
int | Open (const CMemoryReference &memory) |
Speicherbereich öffnen. Mehr ... | |
virtual int | Putc (int c) |
Zeichen schreiben. Mehr ... | |
int | Puts (const CString &str) |
String schreiben. Mehr ... | |
virtual int | Puts (const char *str) |
String schreiben. Mehr ... | |
int | Putsf (const char *fmt,...) |
Formatierten String schreiben. Mehr ... | |
virtual int | Putwc (wchar_t c) |
Wide-Character Zeichen schreiben. Mehr ... | |
int | Putws (const CWString &str) |
Wide-Character-String schreiben. Mehr ... | |
virtual int | Putws (const wchar_t *str) |
Wide-Character String schreiben. Mehr ... | |
size_t | Read (void *target, size_t bytes, ppluint64 fileposition) |
Daten lesen. Mehr ... | |
size_t | Read (void *target, size_t bytes) |
Daten lesen. Mehr ... | |
size_t | Read (CVar &target, size_t bytes) |
Daten in ein Objekt einlesen. Mehr ... | |
virtual int | Seek (ppluint64 position) |
Dateizeiger auf gewünschte Stelle bringen. Mehr ... | |
void | SetFilename (const CString &filename) |
Dateiname festlegen. Mehr ... | |
void | SetFilenamef (const char *filename,...) |
Dateiname festlegen. Mehr ... | |
virtual void | SetMapReadAhead (size_t bytes) |
Minimalgröße des Speicherblocks bei Zugriffen mit CFileObject::Map. Mehr ... | |
virtual pplint64 | Size () const |
Größe der geöffneten Datei. Mehr ... | |
virtual int | Sync () |
Dateiänderungen sofort auf die Platte schreiben. Mehr ... | |
virtual int | Truncate (ppluint64 length) |
Datei abschneiden. Mehr ... | |
virtual int | Unlock () |
Dateisperre aufheben. Mehr ... | |
virtual void | Unmap () |
size_t | Write (const void *source, size_t bytes, ppluint64 fileposition) |
Daten schreiben. Mehr ... | |
size_t | Write (const void *source, size_t bytes) |
Daten schreiben. Mehr ... | |
size_t | Write (const CVar &object, size_t bytes=0) |
Daten eines von CVar abgeleiteten Objekts schreiben. Mehr ... | |
Private Attribute | |
char * | buffer |
char * | MemBase |
ppluint64 | pos |
ppluint64 | size |
Mit dieser von CFileObject abgeleiteten Klasse können Dateizugriffe im Hauptspeicher simuliert werden. Sie ist hauptsächlich zum Lesen von Daten gedacht, z.B. aus einer Resourcendatei. Zwar können auch Daten geschrieben werden, jedoch nicht über die initiale Größe des Speicherbereichs hinaus.
Der zu verwendende Speicherbereich kann entweder über den Konstruktor abgegeben werden (siehe CMemFile::CMemFile (void * adresse, size_t size) ) oder über die Funktion CMemFile::Open.
ppl6::CMemFile::CMemFile | ( | ) |
ppl6::CMemFile::CMemFile | ( | void * | adresse, |
size_t | size | ||
) |
Mit diesem Konstruktor wird gleichzeitig ein Pointer auf den Speicherbereich adresse
mit einer Größe von size
Bytes übergeben. Sämtliche Dateizugriffe werden in diesem Speicherbereich simuliert.
adresse | Pointer auf den zu verwendenden Speicherbereich |
size | Größe des Speicherbereichs |
ppl6::CMemFile::CMemFile | ( | const CMemoryReference & | memory | ) |
Mit diesem Konstruktor wird gleichzeitig ein Pointer auf den Speicherbereich adresse
mit einer Größe von size
Bytes übergeben. Sämtliche Dateizugriffe werden in diesem Speicherbereich simuliert.
adresse | Pointer auf den zu verwendenden Speicherbereich |
size | Größe des Speicherbereichs |
ppl6::CMemFile::~CMemFile | ( | ) |
char * ppl6::CMemFile::Adr | ( | ppluint32 | adresse | ) |
|
virtual |
Diese Funktion schließt die aktuell geöffnete Datei. Sie wird automatisch vom Destruktor der Klasse aufgerufen, so dass ihr expliziter Aufruf nicht erforderlich ist.
Wenn der Stream zur Ausgabe eingerichtet war, werden gepufferte Daten zuerst durch CFileObject::Flush geschrieben. Der zugeordnete Datei-Deskriptor wird geschlossen.
Erneute Implementation von ppl6::CFileObject.
|
inherited |
Mit dieser Funktion kann ein Datenblock aus einer anderen Datei in diese hineinkopiert werden. Dabei werden bytes
Bytes ab der Position quelloffset
der Quelldatei quellfile
gelesen an die Position zieloffset
dieser Datei kopiert.
quellfile | Das Dateiobjekt, aus dem gelesen werden soll |
quelloffset | Position innerhalb der Quelldatei, ab der die Daten gelesen werden sollen |
bytes | Anzahl zu kopierender Bytes |
zieloffset | Position in dieser Datei, an die die Daten geschrieben werden sollen |
|
inherited |
Mit dieser Funktion kann ein Datenblock aus einer anderen Datei in diese hineinkopiert werden. Die Daten werden dabei ab dem aktuellen Dateipositionszeiger des quellfile
an den aktuellen Zeiger dieser Datei kopiert.
quellfile | Das Dateiobjekt, aus dem gelesen werden soll |
bytes | Anzahl zu kopierender Bytes |
|
virtual |
Mit dieser Funktion kann ein Datenblock aus einer anderen Datei in diese hineinkopiert werden. Die Daten werden dabei ab dem aktuellen Dateipositionszeiger des quellfile
an den aktuellen Zeiger dieser Datei kopiert.
quellfile | Das Dateiobjekt, aus dem gelesen werden soll |
bytes | Anzahl zu kopierender Bytes |
Erneute Implementation von ppl6::CFileObject.
|
virtual |
Die Funktion prüft, ob das Dateiende erreicht wurde
true
zurück, wenn das Dateiende erreicht wurde, sonst false
Falls die Datei nicht geöffnet war, wird ebenfalls false
zurückgegeben. Erneute Implementation von ppl6::CFileObject.
|
virtual |
Gets liest höchstens num
minus ein Zeichen aus der Datei und speichert sie in dem Puffer, auf den buffer
zeigt. Das Lesen stoppt nach einem EOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.
buffer | Pointer auf den Speicherbereich, in den die gelesenen Daten geschrieben werden sollen. Dieser muss vorher vom Aufrufer allokiert worden sein und mindestens num Bytes groß sein. |
num | Anzahl zu lesender Zeichen |
buffer
zurückgegeben, im Fehlerfall NULL. Erneute Implementation von ppl6::CFileObject.
|
virtualinherited |
Gets liest höchstens num
minus ein Zeichen (nicht Bytes) aus der Datei und speichert sie in dem Puffer, auf den buffer
zeigt. Das Lesen stoppt nach einem EOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.
buffer | Pointer auf den Speicherbereich, in den die gelesenen Daten geschrieben werden sollen. Dieser muss vorher vom Aufrufer allokiert worden sein und mindestens num * sizeof(wchar_t) Bytes groß sein. |
num | Anzahl zu lesender Zeichen |
buffer
zurückgegeben, im Fehlerfall NULL.Erneute Implementation in ppl6::CFile.
|
inherited |
|
virtual |
Die Funktion Flush bewirkt, dass alle gepufferten Daten des aktuellen Streams mittels der zugrundeliegenden write-Funktion geschrieben werden. Der Status des Streams wird dabei nicht berührt. Die Daten werden nicht zwangsweise auch physikalisch auf die Platte geschrieben, sie können noch immer aus Performancegründen vom Kernel oder Treiber gecached werden. Um 100 Prozent sicher zu gehen, kann man die Funktion CFileObject::Sync verwenden.
Erneute Implementation von ppl6::CFileObject.
|
virtual |
Die Funktion Fread liest nmemb
Datenelemente vom Dateistrom und speichert es an der Speicherposition, die durch ptr
bestimmt ist. Jedes davon ist \ size Byte lang.
[out] | ptr | Pointer auf den Speicherbereich, in den die gelesenen Daten abgelegt werden sollen. Der Aufrufer muss vorher mindestens size * nmemb Bytes Speicher reserviert haben. |
[in] | size | Größe der zu lesenden Datenelemente |
[in] | nmemb | Anzahl zu lesender Datenelemente |
Erneute Implementation von ppl6::CFileObject.
|
virtual |
Die Funktion Fseek setzt den Dateipositionszeiger für den Stream. Die neue Position, gemessen in Byte, wird erreicht durch addieren von offset
zu der Position, die durch origin
angegeben ist. Wenn origin
auf SEEK_SET, SEEK_CUR, oder SEEK_END, gesetzt ist, ist der Offset relativ zum Dateianfang, der aktuellen Position, oder dem Dateiende.
Ein erfolgreicher Aufruf der Funktion fseek löscht den Dateiendezeiger für den Stream.
offset | Anzahl Bytes, die gesprungen werden soll. |
origin | Gibt die Richtung an, in die der Dateizeiger bewegt werden soll. Es kann einen der folgenden Werte annehmen:
|
Erneute Implementation von ppl6::CFileObject.
|
virtual |
Die Funktion Ftell liefert den aktuellen Wert des Dateipositionszeigers für den Stream zurück.
Erneute Implementation von ppl6::CFileObject.
|
virtual |
Die Funktion Fwrite schreibt nmemb
Datenelemente der Größe size
Bytes, in den Dateistrom. Sie werden von der Speicherstelle, die durch ptr
angegeben ist, gelesen.
ptr | Pointer auf den Beginn des zu schreibenden Speicherbereiches. |
size | Größe der zu schreibenden Datenelemente |
nmemb | Anzahl zu schreibender Datenelemente |
Erneute Implementation von ppl6::CFileObject.
|
virtual |
Getc liest das nächste Zeichen aus der Datei und gibt seinen unsigned char Wert gecastet in einem int zurück.
Erneute Implementation von ppl6::CFileObject.
|
inherited |
|
virtualinherited |
Die Funktion liefert den Dateideskriptor als Integer zurück, wie er von den Systemfunktionen open , read , write und close genutzt wird.
Erneute Implementation in ppl6::CFile.
|
inherited |
Gets liest höchstens num
minus ein Zeichen aus der Datei und speichert sie im String-Objekt buffer
. Das Lesen stoppt nach einem EOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.
buffer | String-Objekt, in dem die gelesenen Daten gespeichert werden sollen. |
num | Anzahl zu lesender Zeichen |
buffer
ist im Fehlerfall undefiniert.
|
inherited |
|
inherited |
Gets liest höchstens num
minus ein Zeichen aus der Datei und liefert deren Inhalt als String-Objekt zurück. Das Lesen stoppt nach einem EOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.
num | Anzahl zu lesender Zeichen |
|
virtualinherited |
Getwc liest das nächste Zeichen aus der Datei und gibt seinen Wert als Integer zurück.
Erneute Implementation in ppl6::CFile.
|
inherited |
Gets liest höchstens num
minus ein Zeichen aus der Datei und speichert sie im Wide-Character-String-Objekt buffer
. Das Lesen stoppt nach einem WEOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.
buffer | Wide-Character-String-Objekt, in dem die gelesenen Daten gespeichert werden sollen. |
num | Anzahl zu lesender Zeichen. Hierbei handelt es sich tatsächlich um Zeichen, nicht um Bytes. Die Anzahl zu lesender Bytes wird intern mit der Formel num * sizeof(wchar_t) errechnet. |
buffer
ist im Fehlerfall undefiniert.
|
inherited |
|
inherited |
Gets liest höchstens num
minus ein Zeichen aus der Datei liefert sie als Wide-Character-String-Objekt zurück. Das Lesen stoppt nach einem WEOF oder Zeilenvorschub. Wenn ein Zeilenvorschub gelesen wird, wird er in dem Puffer gespeichert. Am Ende der gelesenen Daten wird ein 0-Byte angehangen.
num | Anzahl zu lesender Zeichen. Hierbei handelt es sich tatsächlich um Zeichen, nicht um Bytes. Die Anzahl zu lesender Bytes wird intern mit der Formel num * sizeof(wchar_t) errechnet. |
|
virtual |
true
zurück, wenn die Datei offen ist, ansonsten false
. Erneute Implementation von ppl6::CFileObject.
|
inherited |
Mit dieser Funktion wird der komplette Inhalt der geöffneten Datei in den Hauptspeicher geladen. Der benötigte Speicher wird von der Funktion automatisch allokiert und muss vim Aufrufer nach Gebrauch mit free
wieder freigegeben werden.
free
selbst wieder freigegeben werden. Im Fehlerfall wird NULL.
|
inherited |
|
virtualinherited |
Mit LockExclusive wird die Datei exklusiv zum Schreiben gesperrt. Andere Prozesse können nicht auf die Datei zugreifen, solange die Sperre besteht.
block | Gibt an, ob die Funktion warten soll (blocken), bis die Datei gesperrt werden kann (block=true) oder sofort mit einer Fehlermeldung zurückkehren soll (block=false). |
Erneute Implementation in ppl6::CFile.
|
virtualinherited |
Mit LockShared wird die Datei zum Lesen gesperrt. Andere Prozesse können weiterhin auf die Datei zugreifen, allerdings ebenfalls nur lesend.
block | Gibt an, ob die Funktion warten soll (blocken), bis die Datei gesperrt werden kann (block=true) oder sofort mit einer Fehlermeldung zurückkehren soll (block=false). |
Erneute Implementation in ppl6::CFile.
|
inherited |
Diese Funktion liefert die Größe der geöffneten Datei in Bytes zurück.
|
inherited |
Mit dieser Funktion wird der komplette Inhalt der Datei in den Speicher gemapped. Falls das Betriebssystem mmap versteht, wird dieser verwendet. Dabei wird die Datei nicht sofort komplett in den Speicher geladen, sondern nur die Teile, die gerade benötigt werden. Steht mmap
nicht zur Verfügung, wird die Datei in den Hauptspeicher geladen. Die File-Klasse kümmert sich selbst daraum, dass der Speicher auch wieder freigegeben wird.
Ein mit Map gemappter Speicher darf nur gelesen, aber nicht beschrieben werden!
|
virtual |
mmap
nicht zur Verfügung, wird die Datei in den Hauptspeicher geladen. Die File-Klasse kümmert sich selbst daraum, dass der Speicher auch wieder freigegeben wird. [in] | position | Die gewünschte Startposition innerhalb der Datei |
[in] | size | Die Anzahl Bytes, die gemapped werden sollen. |
Erneute Implementation von ppl6::CFileObject.
|
virtual |
mmap
nicht zur Verfügung, wird die Datei in den Hauptspeicher geladen. Die File-Klasse kümmert sich selbst daraum, dass der Speicher nach Gebrauch wieder zurück in die Datei geschrieben und freigegeben wird. [in] | position | Die gewünschte Startposition innerhalb der Datei |
[in] | size | Die Anzahl Bytes, die gemapped werden sollen. |
Erneute Implementation von ppl6::CFileObject.
|
inherited |
int ppl6::CMemFile::Open | ( | void * | adresse, |
ppluint32 | size | ||
) |
Mit dieser Funktion wird die simulierte Datei im Hauptspeicher geöffnet. Dazu muss mit adresse
ein Pointer auf den Beginn des zu verwendenden Hauptspeichers angegeben werden, sowie mit size
seine Größe. Sämtliche nachfolgenden Dateizugriffe werden dann in diesem Speicherbereich simuliert.
adresse | Pointer auf den zu verwendenden Speicherbereich |
size | Größe des Speicherbereichs |
adresse
oder size
einen Nullwert aufweisen. int ppl6::CMemFile::Open | ( | const CMemoryReference & | memory | ) |
Mit dieser Funktion wird die simulierte Datei im Hauptspeicher geöffnet. Dazu muss mit adresse
ein Pointer auf den Beginn des zu verwendenden Hauptspeichers angegeben werden, sowie mit size
seine Größe. Sämtliche nachfolgenden Dateizugriffe werden dann in diesem Speicherbereich simuliert.
memory | Referenz auf eine CMemoryReference-Klasse, die den zu verwendenden Speicherbereich enthält |
adresse
oder size
einen Nullwert aufweisen.
|
virtual |
Putc schreibt das Zeichen c
, umgesetzt in ein unsigned char, in den Ausgabestrom.
c | Zu schreibendes Zeichen |
Erneute Implementation von ppl6::CFileObject.
|
inherited |
Diese Funktion schreibt den Inhalt des String-Objekts str
ohne sein nachfolgendes 0-Byte in den Ausgabestrom.
str | String-Objekt mit den zu schreibenden Daten |
|
virtual |
Puts schreibt die Zeichenkette str
ohne sein nachfolgendes 0-Byte in den Ausgabestrom.
str | Pointer auf den zu schreibenden String |
Erneute Implementation von ppl6::CFileObject.
|
inherited |
Putsf schreibt das Ergebnis nach Kontrolle des Formatierungsstrings fmt
und Einsetzen der optionalen Parameter ohne sein nachfolgendes 0-Byte in den Ausgabestrom.
fmt | Pointer auf den Formatierungsstring |
... | Optionale Parameter, die im Formatierungsstring verwendet werden. |
|
virtualinherited |
Putwc schreibt das Wide-Character Zeichen c
in den Ausgabestrom.
c | Zu schreibendes Zeichen |
Erneute Implementation in ppl6::CFile.
|
inherited |
Diese Funktion schreibt den Inhalt des Wide-Character-String-Objekts str
ohne sein nachfolgendes 0-Byte in den Ausgabestrom.
str | String-Objekt mit den zu schreibenden Daten |
|
virtualinherited |
Puts schreibt die Zeichenkette str
ohne sein nachfolgendes 0-Byte in den Ausgabestrom.
str | Pointer auf den zu schreibenden String |
Erneute Implementation in ppl6::CFile.
|
inherited |
Mit dieser Funktion wird beliebiger Bereich der geöffneten Datei in den Hauptspeicher geladen. Die Funktion ist nicht virtuell und existiert nur in der Basisklasse. Sie ruft die virtuellen Funktionen Seek und Fread auf, um den eigentlichen Lesevorgang durchzuführen.
target | Pointer auf den Speicherbereich, in den die gelesenen Daten geschrieben werden sollen. Dieser muss zuvor vom Aufrufer allokiert worden sein und mindestens bytes gross sein. |
bytes | Anzahl zu lesender Bytes |
fileposition | Position in der Datei, an der die Daten gelesen werden sollen |
|
inherited |
Diese Funktion liest bytes
Bytes ab der aktuellen Position des Dateistroms und speichert sie im Hauptspeicher an der duch target
bestimmten Position. Die Funktion ist nicht virtuell und existiert nur in der Basisklasse. Sie ruft die virtuellen Funktionen Seek und Fread auf, um den eigentlichen Lesevorgang durchzuführen.
target | Pointer auf den Speicherbereich, in den die gelesenen Daten geschrieben werden sollen. Dieser muss zuvor vom Aufrufer allokiert worden sein und mindestens bytes gross sein. |
bytes | Anzahl zu lesender Bytes |
|
inherited |
Diese Funktion liest bytes
Bytes ab der aktuellen Position des Dateistroms und speichert sie im Objekt target
.
Die Funktion ist nicht virtuell und existiert nur in der Basisklasse. Sie ruft die virtuellen Funktionen Seek und Fread auf, um den eigentlichen Lesevorgang durchzuführen.
target | Das Objekt, in dem die gelesenen Daten gespeichert werden sollen. |
bytes | Anzahl zu lesender Bytes |
|
virtual |
Diese Funktion bewegt den internen Dateizeiger auf die gewünschte Stelle
[in] | position | Gewünschte Position innerhalb der Datei |
Erneute Implementation von ppl6::CFileObject.
|
inherited |
[in] | filename | Ein CString, der den Dateinamen enthält. |
|
inherited |
[in] | filename | Ein Formatstring oder der Dateiname |
[in] | ... | beliebig viele Parameter, sofern filename ein Formatstring ist |
|
virtualinherited |
Falls mit Map viele aufeinanderfolgende kleine Speicherblöcke gemapped werden, ist es sinnvoll größere Blöcke zu laden, die dann bereits im Cache bzw. Hauptspeicher liegen, wenn sie gebraucht werden. Mit dieser Funktion kann bestimmt werden, wie viele Daten im Voraus gemapped werden sollen.
bytes | Anzahl Bytes, die im Voraus gemapped werden sollen. |
Erneute Implementation in ppl6::CFile.
|
virtual |
Diese Funktion liefert die Größe der geöffneten Datei in Bytes zurück.
Erneute Implementation von ppl6::CFileObject.
|
virtual |
Ein Aufruf dieser Funktion bewirkt, dass alle Dateiänderungen sofort auf die Festplatte geschrieben werden. Sie sollte daher vor dem Schließen einer kritischen Datei mit CFile::Close aufgerufen werden, unter Umständen sogar nach jedem Schreibzugriff.
Erneute Implementation von ppl6::CFileObject.
|
virtualinherited |
Die Funktionen Truncate bewirkt, dass die aktuell geöffnete Datei auf eine Größe von exakt length
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.
Der Dateizeiger wird nicht verändert. Die Datei muss zum Schreiben geöffnet sein.
length | Position, an der die Datei abgeschnitten werden soll. |
Erneute Implementation in ppl6::CFile.
|
virtualinherited |
Mit Unlock wird eine mit LockShared oder LockExclusive eingerichtete Sperre wieder aufgehoben, so dass auch andere Prozesse wieder uneingeschränkt auf die Datei zugreifen können.
Erneute Implementation in ppl6::CFile.
|
virtual |
Erneute Implementation von ppl6::CFileObject.
|
inherited |
Mit dieser Funktion wird ein beliebiger Speicherbereich auf den Datenträger geschrieben. Die Funktion ist nicht virtuell und existiert nur in der Basisklasse. Sie ruft die virtuellen Funktionen Seek und Fwrite auf, um den eigentlichen Schreibvorgang durchzuführen.
source | Pointer auf den Speicherbereich, der geschrieben werden soll |
bytes | Anzahl zu schreibender Bytes |
fileposition | Position in der Datei, an der die Daten gespeichert werden solle |
|
inherited |
Mit dieser Funktion wird ein beliebiger Speicherbereich auf den Datenträger geschrieben. Die Funktion ist nicht virtuell und existiert nur in der Basisklasse. Sie ruft die virtuellen Funktionen Seek und Fwrite auf, um den eigentlichen Schreibvorgang durchzuführen.
source | Pointer auf den Speicherbereich, der geschrieben werden soll |
bytes | Anzahl zu schreibender Bytes |
|
inherited |
Mit dieser Funktion wird der Speicherinhalt eines CVar-Objekts auf den Datenträger geschrieben. Die Funktion ist nicht virtuell und existiert nur in der Basisklasse. Sie ruft die virtuellen Funktionen Seek und Fwrite auf, um den eigentlichen Schreibvorgang durchzuführen.
object | Das zu speichernde CVar Objekt |
bytes | Anzahl zu schreibender Bytes |
|
private |
|
private |
|
private |
|
private |