Dateiarbeit: Fehler beim auslesen von xml
-
Hallo an alle,
(Arbeite mit dem BB6 (Konsolenexperten))
hab da nen ganz komischen Fehler. Ich will eine xml-Datei auslesen mit ifsream.
also programmiere ich:
ifstream datei ("daten.xml")
while(!datei.eof(){....}
ich hab shcon alles probiert aber er liest nie was ein. Er behandelt es wie wenn diese Datendatei leer wäre, obwohl:
<Local>
<ZCommFlags>
.....drin steht.
Hat jmd das selbe Problem, oder kann mir sagen wie ich die Datei anders auslesen kann? Zeichenweise und getline geht nicht...
Danke fürs durchlesen
Mfg Christian
-
Wie liest du denn ein? Hast du mal geprüft, ob die Datei überhaupt geöffnet wurde (ifstream::is_open())?
-
ich lese so ein:
file.getline(zeile, sizeof(zeile));
ja die datei ist geöffnet, sonst würde ich es hier sehen:
if(file.fail()){cout<<"Fehler beim Oeffnen";getch();exit(1); }
-
Das hier
file.getline(zeile, sizeof(zeile));ist falsch. sizeof(zeile) gibt dir nicht die Größe deines char-Arrays zurück sondern die Größe des Datentyps (hier Pointer also 4). Gib entweder die korrekte Zahl an oder nimm statt char* lieber gleich string und dann das andere getline;
std::string zeile; getline(file, zeile);
-
Bei txt datei funzt es immer wenn da einfache wörter oder so drin stehen......