INI-Dateien sind ein sehr praktisches Werkzeug um schnell kleine Konfigurationen abzuspeichern. Sie bieten gegenüber XML einen klaren Vorteil: Sie sind einfach. Allerdings muss man bedenken, dass sie deshalb nicht unbedingt für komplizierte Datensätze geeignet sind. Ein Anwendungsgebiet wäre zum Beispiel das Abspeichern von Einstellungen für ein Computerspiel (Bildschirmauflösung, Sound ja/nein, …).
Aufbau von INI-Dateien
Eine INI kann prinzipiell mit jedem Texteditor erstellt und bearbeitet werden, da sie als reiner Text abgespeichert wird. Strukturiert wird eine INI folgendermaßen:
[kategorie1]
variable1=73
variable2=42
[kategorie2]
variable=usw
Auslesen von INI-Dateien mit C++
Um INIs auszulesen hält C++ eine einfache Lösung parat. Zu beachten ist bei dieser, dass der absolute Pfad der INI benötigt wird. Wie man diesen ermittelt erfahren Sie hier: C++ Aktuellen Pfad ermitteln.
Die Vorgehensweise an einem Codebeispiel:
#include <windows.h>
//...
#define WERT_BEI_LESEFEHLER (0) //Falls die Datei nicht gelesen werden kann wird der Wert 0 zur�ckgegeben
char pfad[256] = "C:\\Beispiel.ini"; //der absolute Pfad zur INI
int variable; //Die Variable die mit einem Wert belegt werden soll
variable = GetPrivateProfileInt("kategorie1",
"variable1",
WERT_BEI_LESEFEHLER ,
pfad);
//'variable' wird hier nach dem obigen Beispiel mit 73 (int) belegt
Beachten Sie: Mit GetPrivateProfileInt
können nur Integer ausgelesen werden!
Schreiben von INI-Dateien mit C++
Auch zum Schreiben von INIs ist C++ gerüstet und auch hier wird der absolute Pfad der INI benötigt: C++ Aktuellen Pfad ermitteln.
Um mit C++ in eine INI zu schreiben ist folgender Code notwendig:
#include <windows.h>
//...
char pfad[256] = "C:\\Beispiel.ini"; //der absolute Pfad zur INI
WritePrivateProfileString("kategorie1",
"neueVariable",
"Hallo!",
pfad);
//In der INI ist jetzt eine neue Variable in [kategorie1] angelegt worden
Achtung: Diesmal wurde WritePrivateProfileString
verwendet!