Wie kann ich mit der Methode Read Zeile für Zeile lesen?
-
Ich will damit eine Configdatei lesen.
Es funktioniert nur bei der erste Zeile!!
name = müller
passwort = testCString getValue("name") funktioniert, aber wenn ich getValue("passwort") aufrufe, bekomme ich ein leeres string zurück!!!
Ich dachte, dass die Methode Read nur eine Zeile liest!!
Ich habe geteste. Die Methode Read liest die ganze Datei!!
Wie kann ich Zeile für Zeile lesen??Danke
CString getValue(CString szKey)
{
char szLine[SIZE] = {0};
CString szContainer = _T("");DWORD dwRead = 0;
int pos = 0;do
{
dwRead = _file.Read(szLine, SIZE);szContainer = CString(szLine);
pos = szContainer.Find(_T("="));
if((pos != 0) && (szKey.Compare(szContainer.Mid(0, pos)) == 0))
{
return szContainer.Mid(++pos);
}}while(dwRead > 0);
}
-
Ich dachte, dass die Methode Read nur eine Zeile liest!!
Ich habe geteste. Die Methode Read liest die ganze Datei!!*schluck*
Wie das denn? Laut der wunderschönen Dokumentation, die auch für Dich verfügbar ist, liest Read genau 'SIZE' Zeichen.
-
Hi!
Das habe ich auch gedacht!
Wenn man szContainer nach der Zuweisung szContainer = CString(szLine);
abfragt, dann beinhaltet der szContainer beide Zeilen??? Warum??Danke
-
Ist SIZE vielleicht zufällig grösser als die Anzahl der Zeichen in beiden Zeilen?
-
Hi!
SIZE = 300; Ich habe mit SIZE gemeint, dass eine Zeile max 300 Zeichen haben kann "vorsichtshalbe". Erste Zeile kann bis zu 300 Zeichen beinhalten und die zweite Zeile genauso, oder habe ich das ganze falsch verstanden??
name = 300 Zeichen ...............................
passwort = 300 Zeichen ...............................Main:
CString name = property.getValue("name"); // FunktioniertCString password = property.getValue("password"); // Funktioniert NICHT!!
Es wäre sehr nett von Dir, wenn Du weiter helfen würdest!
Ich habe so eine Methode unter Unix mit fstream geschrieben und es funktioniert.
Da ich jetzt unter Windows CE 3.0 die gleiche Methode realisieren muss, kann ich die Datei fstream leider nicht benutzen!Vielen Dank
-
Ich habe noch etwas vergessen!
Config Datei:
name = müller
passwort = testCString name = property.getValue("name"); // Hier bekomme ich müller zurück ->OK
CString password = property.getValue("password"); // Und hier passwort = test
und nich das Wort test!
-
Irgendwo hatte ich die Hoffnung gehegt, du benutzt man unsere schöne Suchen-Funktion oder FAQ und suchst nach 'Textdateien', denn dieses Thema ist hier genug vorhanden.
-
Hi!
Kannst Du mir vielleicht sagen wie ich die Methode Read beibringen kann, dass
sie nur bis '\n' new line lesen soll, und falls sie das Wort nicht
gefunden hat, dann mit der nächste Zeile anfangen soll!
Dann ist das Problem gelöst ;-))
Danke :))
-
ReadLine
-
ReadString
-
Also die Methode ReadString wird unter Windows CE nicht unterstützt!
Danke
-
doch
-
Benutzt du CFile? Dann versuchs mal mit CStdioFile.
grüsse