Einstellungen aus .ini-File lesen



  • Hallo!

    Ich hab ein Problem: Ich muss aus einem .ini-File Einstellungen in eine Konsolen-Applikation laden, weiss aber weder wie ich die Datei lesen noch wie ich deren Inhalt verarbeiten kann. Aufgrund einer Wahl des Benutzers müssten spezifische Einstellungen der Datei geladen werden. Hat jemand eine Ahnung? Wäre sehr wichtig!
    Danke, greets



  • per Hand könntest du die Datei als ifstream einlesen und dann auswerten. (dazu mußt du allerdings wissen, wie sie aufgebaut ist)



  • Hey ich glaube Du könntest diese 2 Funktionen aus der windows.h nutzen:

    GetPrivateProfileString() - Auslesen eines Strings aus eigener Ini-Datei
    WritePrivateProfileString() - Schreiben eines Strings in eigene Ini-Datei
    

    Mußt eventuell mal danach googlen, oder bei MSDN schauen...



  • vieleicht hilft das ?

    #include <stdio.h>
    #include <windows.h>
    
    int main(int argc, char **argv)
    {
    //Char definierung zum auslesen des Pfades
    
    char BUFFER01[100];
    char BUFFER02[100];
    char szIniFile[MAX_PATH];
    
    //Speichert die ini Datei im selben Verzeichnis wie Die Exe
    GetModuleFileName(NULL,szIniFile,sizeof(szIniFile));
    *(strrchr(szIniFile,'\\')+1) = 0;
    lstrcat(szIniFile,"test.ini");
    
    //WritePrivateProfileString Schreibt informationen in eine INI Datei
    WritePrivateProfileString("EINSTELLUNGEN" , "WERT01" , "Test-01" , szIniFile);
    WritePrivateProfileString("EINSTELLUNGEN" , "WERT02" , "Test-02" , szIniFile);
    
    //GetPrivateProfileString Liesst die informationen aus der INI Datei
    GetPrivateProfileString("EINSTELLUNGEN", "WERT01" , "Test-Fehler" , BUFFER01, sizeof(szIniFile), szIniFile);
    GetPrivateProfileString("EINSTELLUNGEN", "WERT02" , "Test-Fehler" , BUFFER02, sizeof(szIniFile), szIniFile);
    
    //Dateien aus INI Laden
    printf("%s\n","[EINSTELLUNGEN]");
    printf("%s\n", BUFFER01);
    printf("%s\n", BUFFER02);
    printf("%s\n","..");
    
    //Ende und Gibt die zeile ( Drucken sie eine Beliebige Taste... ) aus
    system("PAUSE");
    return EXIT_SUCCESS;
    }
    

Anmelden zum Antworten