Alle Sections eine ini-Datei auslesen
-
Ich muss leider noch eine Frage nachschieben und um Hilfe bitten

In einer ini-Datei habe ich mehrere Sections angegeben, was z.B. so aussieht:
[Max]
.
.
[Peter]
.
.
[Anton]Nun sind mir diese Sectionnamen aber nicht bekannt, da sie vom
Anwender angelegt wurden. Ich müsste nun eine Möglichkeit finden
die Sectionnamen aus der ini zurück zu bekommen.Einen Ansatz hatte ich bereits vor Ewigkeiten mal gefunden (glaube sogar
hier aus dem Forum, find es aber nicht wieder). Allerdings ging es dabei um die Keynames einer Section.char tmp[MAX_PATH],tmpnames[MAX_PATH]; CString test; int namesize=GetPrivateProfileString("irgendein name der sektion",NULL,"",tmpnames,100,"c:\\test.ini"); for(char* p=tmpnames;p<tmpnames+namesize;p+=strlen(p)+1) { GetPrivateProfileString("irgendein name der sektion",p,"",tmp,100,"c:\\test.ini"); test+="\""; test+=tmp; test+="\"\r\n"; } MessageBox(test);Das Konstrukt ist genial, aber es funktioniert scheinbar in keinster Weise
mit Sektionsnamen, da dieser ja afaik immer bekannt sein muss
Die Alternative wäre nur die Datei zeilenweise einzulesen und dann nach den
Klammern zu parsen.
-
Quatsch!
Lies doch mal die Doku.Der zweite Parameter muss NULL sein!
lpKeyName [in]
The name of the key whose associated string is to be retrieved. If this parameter is NULL, all key names in the section specified by the lpAppName parameter are copied to the buffer specified by the lpReturnedString parameter.
-
Habs eben auch gesehen, allerdings springt er mir nicht auf den
nächsten Sektionnamen. Ich tüftel weiter
-
Jeder davon ist 0 terminiert

Zeig Code!
-
Habs begriffen dank dem Hinweis von Martin und den Ausführungen hier