Parameterverwaltung

Datei params.c des Projektes Transfermatrixsimulation.

Die in dieser Datei implementierten Funktionen dienen dazu, Parameter aus einer Parameterdatei zu lesen und Parameterdateien zu schreiben. Da jeder Parameter über seinen Namen identifiziert wird, können jederzeit neue Parameter zu einer Parameterdatei hinzugefügt werden, ohne daß alte Programmversionen Probleme mit der Parameterdatei bekommen. Andererseits werden fehlende Parameter in alten Parameterdateien durch Defaultwerte ersetzt, so daß eine neue Programmversion auch alte Parameterdateien sinnvoll verarbeiten kann.

Eine Parameterdatei besteht aus Sektionen, die durch ihren in eckigen Klammern eingeschlossenen Namen gekennzeichnet sind. Darauf folgen die zu dieser Sektion gehörenden Einträge im Format

Name=Wert
Da Namen, nach denen kein Programm fragt, ignoriert werden, können beliebige Kommentare in die Datei eingefügt werden, solange sie nicht mit einem als Feldnamen verwendeten Wort anfangen. Als Konvention sollten Kommentare jedoch durch ein # am Anfang der Zeile gekennzeichnet sein.

Der Quelltext steht in der Datei /usr/people/deneb/rbund/c/params/params.c. Zum Deklarieren der Funktionen im aufrufenden Programm gibt es die Header-Datei /usr/people/deneb/rbund/c/include/params.h.

Die Benutzung funktioniert wie folgt: Man ließt einen Parameter durch einen Aufruf wie

SystSize=GetPrivateProfileInt("Run2","Systemgroesse",20,argv[1])
ein. Dabei wird angenommen, daß das erste Kommandozeilenargument beim Programmaufruf der Name der Parameterdatei ist. Existiert in der Parameterdatei ein Eintrag
[Run2]
Systemgroesse=100
so wird SystSize den Wert 100 bekommen. Existiert kein Eintrag des Namens Systemgroesse unter der Rubrik [Run2], so wird der angegebene Defaultwert (hier 20) an SystSize zugewiesen.

Im folgenden ist der gesamte Quelltext der Routinen dokumentiert:


Eingebundene Dateien:

stdio.h, fcntl.h, string.h, unistd.h, errno.h, sys/stat.h, params.h

In dieser Datei definierte Funktionen:


Diese Seite wurde compiliert/modifiziert/erzeugt am 06.03.1997/01.09.1995/30.08.1995 von Ralf Bundschuh/Ralf Bundschuh.
Diese Seite und ihr Inhalt sind (c) 1995 von Ralf Bundschuh.