ContainerDriver
15-01-2003, 12:46
Ich hab ein kleines Problem mit meinem Programm (ein Programm zum Vokabelabfragen).
Das Prog. öffnet ein bestimmte Wortdatei und man kann auswählen welche Sektion man sich aus der Datei abfragen lassen will. Dann wird diese Sektion in eine Datei kopiert und das Programm greift nur noch auf diese Datei zu. So weit so gut.
Bei großen Dateien dauert dies aber sehr lange. Nun will eine Methode schreiben, die überprüft, ob die Orginalatei seit der letzten Anfrage verändert wurde oder nicht. Wenn nicht, kann man einfach die alte Datei (die vorher schon aus der Orginaldatei kopiert wurde) zum einlesen nehmen.
In den man-Pages hab ich da die Funktion "int stat(file,struct stat *buf);" gefunden.
Ich erstell also eine Struktur:
file[]={"latin_ger.et"};
struct stat *buf;
Ruf dann stat auf:
stat(file,*buf);
Wenn ich nun aber auf buf zugreifen will etwa ($IRGENDETWAS ist ein Teil der Struktur aus dem Header, den genauen Namen weis ich jedoch jetzt nicht, da ich nicht daheim bin):
cout << buf.$IRGENDETWAS << endl;
lässt es sich nicht mehr kompilieren.
Wie bekomme ich nun einen Aufruf mit stat(..); hin, der das Datum der letzten Änderung ausgibt?
Danke für die Antworten, Florian.
Das Prog. öffnet ein bestimmte Wortdatei und man kann auswählen welche Sektion man sich aus der Datei abfragen lassen will. Dann wird diese Sektion in eine Datei kopiert und das Programm greift nur noch auf diese Datei zu. So weit so gut.
Bei großen Dateien dauert dies aber sehr lange. Nun will eine Methode schreiben, die überprüft, ob die Orginalatei seit der letzten Anfrage verändert wurde oder nicht. Wenn nicht, kann man einfach die alte Datei (die vorher schon aus der Orginaldatei kopiert wurde) zum einlesen nehmen.
In den man-Pages hab ich da die Funktion "int stat(file,struct stat *buf);" gefunden.
Ich erstell also eine Struktur:
file[]={"latin_ger.et"};
struct stat *buf;
Ruf dann stat auf:
stat(file,*buf);
Wenn ich nun aber auf buf zugreifen will etwa ($IRGENDETWAS ist ein Teil der Struktur aus dem Header, den genauen Namen weis ich jedoch jetzt nicht, da ich nicht daheim bin):
cout << buf.$IRGENDETWAS << endl;
lässt es sich nicht mehr kompilieren.
Wie bekomme ich nun einen Aufruf mit stat(..); hin, der das Datum der letzten Änderung ausgibt?
Danke für die Antworten, Florian.