Werte aus Datei lesen



  • Hi,
    ich muss aus einer ini-Datei verschiedene Werte lesen. Der Aufbau is (wie bei jeder ini-Datei):
    adapter=0
    devtype=HAL
    ...

    Um an die Values zu kommen mach ich folgendes:

    char line[100];
       string tmp;
       stringstream buf;
       ifstream settingsFile("settings/graphics.ini");
       // So lese ich jede Zeile ein:
       settingsFile.getline(line, 100);       // adapterid
       tmp = line;
       tmp = tmp.substr(tmp.find("=", 0)+1);  // Value holen
       buf << tmp;
       buf >> graphicsSettings.adapterID;     // Den Wert (hier 0) in die
                                              // Struktur schreiben
    

    Funktioniert alles wunderbar nur sind mir das zu viele Zeilen. Geht das irgendwie eleganter?
    PS: Ich möchte keine C-Funktion a la sprintf etc benutzen.



  • Dazu gibt es Windows-spezifische Funktionen wie GetPrivateProfile... usw.



  • und was, wenn ers betriebssystemunabhängig machen will? :p



  • otze schrieb:

    und was, wenn ers betriebssystemunabhängig machen will? :p

    Dann benutzt er dieses Format nicht. 🙄



  • wieso nich? ini is überall bekannt,jeder weis, was das bedeuten soll,wieso also nich auf linux zb benutzen?



  • otze schrieb:

    wieso nich? ini is überall bekannt,jeder weis, was das bedeuten soll,wieso also nich auf linux zb benutzen?

    Für Windows-User mag es bekannt sein, aber nicht für Linuxer, oder kennst du Linux Programme, die ini-Dateien benutzen? Das Format an sich ist auch veraltet, kein guter Programmierer verwendet es heutzutage, denn es gibt bessere Möglichkeiten Daten zu serialisieren...



  • @Shlo: Naja, in Windows hat die Registry die ini-Dateien abgelöst, aber da sind mir INIs doch lieber. Mach mal ein Bsp. was besser ist, als INIs.



  • Shlo schrieb:

    otze schrieb:

    wieso nich? ini is überall bekannt,jeder weis, was das bedeuten soll,wieso also nich auf linux zb benutzen?

    Für Windows-User mag es bekannt sein, aber nicht für Linuxer, oder kennst du Linux Programme, die ini-Dateien benutzen? Das Format an sich ist auch veraltet, kein guter Programmierer verwendet es heutzutage, denn es gibt bessere Möglichkeiten Daten zu serialisieren...

    Oh. Dann muss ich wohl damit leben ein schlechter Programmierer zu sein...



  • Die Unix Desktopumgebung KDE benutzt größtenteils noch INI Dateien zur Konfiguration. Bin mir nicht sicher, ob sie einen Umstieg auf XML planen. Wäre auf jeden Fall ein Rückschritt.


Anmelden zum Antworten