C++ - Temporäre Datei erzeugen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
me
Beiträge: 868
Registriert: 30.10.2005 00:14:23
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Paderborn
Kontaktdaten:

C++ - Temporäre Datei erzeugen

Beitrag von me » 12.03.2007 14:40:12

Hi,

ich habe ein Programm geschrieben, welches Serverlisten verwaltet, die alle in einer Config abgelegt sind.

Wenn man nun einen Server löschen möchte, führt das Programm im Grunde folgendes aus:

1. Temporären Dateinamen kreieren (in /tmp), er probiert solange durch bis er was richtiges gefunden hat.
2. Line holen in der der Server steht in der Config.
3. Alle Einträge aus der alten Config in die Temp kopieren, bis auf die betreffende Line.
4. alte conf löschen und die aus /tmp zur alten location umbenennen.

Nun habe ich allerdings 2 Probleme:
1. Mein selbstgeschriebener Random Generator funktioniert nur richtig während der Laufzeit, sprich die Reihenfolge der Zahlenabfolgen sind immer gleich
2. Es wurde ein Bug reported, dass wenn /tmp und /home in dem Falle auf verschiedenen Partitionen liegen, das löschen oder renaming nicht funktioniert, sodass am Ende keine Konfiguration mehr vorhanden ist.

Dürfte da die Benutzung der Funktion mkstemp() weiterhelfen aus <cstdio>?
Anytime if we think we were right,
we were maybe wrong.

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 12.03.2007 14:45:28

Zu 1: Du solltest deinen Zufallsgenerator mit einem sich ändernden Wert, z. B. der Tageszeit in Sekunden initialisieren.

Antworten