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......


Anmelden zum Antworten