Ne, das bekomme ich nicht hin. Wie ich schon gesagt habe, in VB ist das für mich locker. C++ leider weit weg.
Evtl. hilft es mehr wenn ich das an einem VB-Beispiel mache
Hier mal eine VB-Funktion getSetting().
Als Parameter wird Settext (ist der gesamte eingelesene Inhalt der Datei) angegeben
könnte so aussehen:
set1=1
set2=2
set3=51
Der Zweite Parameter Setting ist die gesuchte Einstellung z.B.: "set3"
Das sieht dann so in Gebrauch aus
getSetting(eingelesener Dateiinhalt, "set3")
Der Rückgabewert ist dann "51" als integer-Wert
Function getSetting(Settext As String, Setting As String) As Integer
Dim SetPos As Integer, readPos As Integer, EndPos As Integer, readlen As Integer
SetPos = InStr(1, Settext, Setting) //'Position des gesuchten Wertes ermitteln
readPos = InStr(SetPos, Settext, Chr(61)) + 1 //'hier wird die Position des "=" ermittelt
EndPos = InStr(readPos, Settext, Chr(10) & Chr(13)) //'Ende der Zeile ermitteln (hier Dos/Windows)
If EndPos = 0 Then EndPos = Len(Settext) //'nur zur Fehlervermeidung
readlen = EndPos - readPos + 1 //'Länge des gewünschten Wertes ermitteln
getSetting = CInt(Mid(Settext, readPos, readlen)) //'aus den ermittelten Werten das Ergebnis übergeben
End Function
[/PHP]
Es wird in dem Fall der komplette Dateiinhalt eingelesen und der gewünschte Paremeter gesucht, indem die Position und Länge ermittelt wird von der sich der Wert mit mid() auslesen lässt, sonst nichts. Also ohne jede Zeile einzeln einzulesen.
Für mich sieht das irgendwie aufgeräumter aus, als C++?:mod: Aber genau das bräuchte ich in C++. Ließe sich das nicht irgendwie umsetzen?