TinyXml keine Ausgabe



  • Und ein paar if zum prüfen der Ergebnisse schaden auch nicht.



  • Oh leck danke hab ich total übersehen.



  • Ich jetzt zwar LoadFile drin aber er findet angeblich die datei nicht obwohl sie im ordner ist 😕 :

    TiXmlDocument doc("self.xml");
        if(!doc.LoadFile())
        {
            std::cout << "Datei nicht da" << std::endl;
        }else{
            std::cout << "Datei da" << std::endl;
    
            TiXmlElement* root = doc.RootElement();
            TiXmlElement *tmp;
    
            root ->Attribute("number", &zahl);
    
            tmp = root->FirstChildElement("NAME");
            name = tmp->FirstChild()->ToText()->Value();
    
            std::cout << zahl << name << std::endl;
        }
    


  • wie sieht die datei aus und wie startest du das Programm?



  • Also ganz normal starte ich über int main() und den inhalt.
    Die datei sieht so aus:
    self.xml

    <root number="1">
        <NAME>asd</NAME>
    </root>
    


  • gamebuntu schrieb:

    Also ganz normal starte ich über int main() und den inhalt.

    Ich meinte nicht wie der code im programm ausgeführt wird, sondern wie du das übersetzte programm startest.



  • Aso sry code::blocks startet das Programm automatisch.
    Ich habs mal versucht mit der Console in Linux dort wird das ausgegeben:

    root@nico-desktop:/media/nico_/sicherung/ubuntu/Projekt/freedom/Freedom# ./Freedom
    Datei da
    1
    *** glibc detected *** ./Freedom: free(): invalid pointer: 0x080562bc ***
    ======= Backtrace: =========
    /lib/tls/i686/cmov/libc.so.6(+0x6b591)[0x678591]
    /lib/tls/i686/cmov/libc.so.6(+0x6cde8)[0x679de8]
    /lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0x67cecd]
    /usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0x1e4741]
    /usr/lib/libstdc++.so.6(_ZNSs4_Rep10_M_destroyERKSaIcE+0x1d)[0x1c0c2d]
    ./Freedom[0x8049aaa]
    ./Freedom[0x8049520]
    /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x623bd6]
    ./Freedom[0x80493e1]
    ======= Memory map: ========
    00110000-00125000 r-xp 00000000 08:06 43185      /lib/tls/i686/cmov/libpthread-2.11.1.so
    00125000-00126000 r--p 00014000 08:06 43185      /lib/tls/i686/cmov/libpthread-2.11.1.so
    00126000-00127000 rw-p 00015000 08:06 43185      /lib/tls/i686/cmov/libpthread-2.11.1.so
    00127000-00129000 rw-p 00000000 00:00 0 
    00129000-00212000 r-xp 00000000 08:06 12448      /usr/lib/libstdc++.so.6.0.13
    00212000-00213000 ---p 000e9000 08:06 12448      /usr/lib/libstdc++.so.6.0.13
    00213000-00217000 r--p 000e9000 08:06 12448      /usr/lib/libstdc++.so.6.0.13
    00217000-00218000 rw-p 000ed000 08:06 12448      /usr/lib/libstdc++.so.6.0.13
    00218000-0021f000 rw-p 00000000 00:00 0 
    0021f000-00243000 r-xp 00000000 08:06 43175      /lib/tls/i686/cmov/libm-2.11.1.so
    00243000-00244000 r--p 00023000 08:06 43175      /lib/tls/i686/cmov/libm-2.11.1.so
    00244000-00245000 rw-p 00024000 08:06 43175      /lib/tls/i686/cmov/libm-2.11.1.so
    00245000-00262000 r-xp 00000000 08:06 14870      /lib/libgcc_s.so.1
    00262000-00263000 r--p 0001c000 08:06 14870      /lib/libgcc_s.so.1
    00263000-00264000 rw-p 0001d000 08:06 14870      /lib/libgcc_s.so.1
    00264000-00292000 r-xp 00000000 08:06 8251       /usr/lib/libfontconfig.so.1.4.4
    00292000-00293000 r--p 0002d000 08:06 8251       /usr/lib/libfontconfig.so.1.4.4
    00293000-00294000 rw-p 0002e000 08:06 8251       /usr/lib/libfontconfig.so.1.4.4
    00294000-002a9000 r-xp 00000000 08:06 47083      /usr/lib/libaudio.so.2.4
    002a9000-002aa000 r--p 00015000 08:06 47083      /usr/lib/libaudio.so.2.4
    002aa000-002ab000 rw-p 00016000 08:06 47083      /usr/lib/libaudio.so.2.4
    002ab000-002ce000 r-xp 00000000 08:06 31173      /lib/libpng12.so.0.42.0
    002ce000-002cf000 r--p 00022000 08:06 31173      /lib/libpng12.so.0.42.0
    002cf000-002d0000 rw-p 00023000 08:06 31173      /lib/libpng12.so.0.42.0
    002d0000-00341000 r-xp 00000000 08:06 2984       /usr/lib/libfreetype.so.6.3.22
    00341000-00345000 r--p 00070000 08:06 2984       /usr/lib/libfreetype.so.6.3.22
    00345000-00346000 rw-p 00074000 08:06 2984       /usr/lib/libfreetype.so.6.3.22
    00346000-0034d000 r-xp 00000000 08:06 8036       /usr/lib/libSM.so.6.0.1
    0034d000-0034e000 r--p 00006000 08:06 8036       /usr/lib/libSM.so.6.0.1
    0034e000-0034f000 rw-p 00007000 08:06 8036       /usr/lib/libSM.so.6.0.1
    0034f000-00364000 r-xp 00000000 08:06 8034       /usr/lib/libICE.so.6.3.0
    00364000-00365000 r--p 00014000 08:06 8034       /usr/lib/libICE.so.6.3.0
    00365000-00366000 rw-p 00015000 08:06 8034       /usr/lib/libICE.so.6.3.0
    00366000-00368000 rw-p 00000000 00:00 0 
    00368000-00370000 r-xp 00000000 08:06 8259       /usr/lib/libXrender.so.1.3.0
    00370000-00371000 r--p 00007000 08:06 8259       /usr/lib/libXrender.so.1.3.0
    00371000-00372000 rw-p 00008000 08:06 8259       /usr/lib/libXrender.so.1.3.0
    00372000-0038d000 r-xp 00000000 08:06 39833      /lib/ld-2.11.1.so
    0038d000-0038e000 r--p 0001a000 08:06 39833      /lib/ld-2.11.1.so
    0038e000-0038f000 rw-p 0001b000 08:06 39833      /lib/ld-2.11.1.so
    0038f000-00605000 r-xp 00000000 08:06 3025       /usr/lib/libQtCore.so.4.6.2
    00605000-0060c000 r--p 00275000 08:06 3025       /usr/lib/libQtCore.so.4.6.2
    0060c000-0060d000 rw-p 0027c000 08:06 3025       /usr/lib/libQtCore.so.4.6.2
    0060d000-00760000 r-xp 00000000 08:06 42737      /lib/tls/i686/cmov/libc-2.11.1.so
    00760000-00761000 ---p 00153000 08:06 42737      /lib/tls/i686/cmov/libc-2.11.1.so
    00761000-00763000 r--p 00153000 08:06 42737      /lib/tls/i686/cmov/libc-2.11.1.so
    00763000-00764000 rw-p 00155000 08:06 42737      /lib/tls/i686/cmov/libc-2.11.1.so
    00764000-00767000 rw-p 00000000 00:00 0 
    00767000-0082f000 r-xp 00000000 08:06 63381      /lib/libglib-2.0.so.0.2400.1
    0082f000-00830000 r--p 000c7000 08:06 63381      /lib/libglib-2.0.so.0.2400.1
    00830000-00831000 rw-p 000c8000 08:06 63381      /lib/libglib-2.0.so.0.2400.1
    00831000-0083f000 r-xp 00000000 08:06 8081       /usr/lib/libXext.so.6.4.0
    0083f000-00840000 r--p 0000d000 08:06 8081       /usr/lib/libXext.so.6.4.0
    00840000-00841000 rw-p 0000e000 08:06 8081       /usr/lib/libXext.so.6.4.0
    00841000-00843000 r-xp 00000000 08:06 43174      /lib/tls/i686/cmov/libdl-2.11.1.so
    00843000-00844000 r--p 00001000 08:06 43174      /lib/tls/i686/cmov/libdl-2.11.1.so
    00844000-00845000 rw-p 00002000 08:06 43174      /lib/tls/i686/cmov/libdl-2.11.1.so
    00845000-00849000 r-xp 00000000 08:06 63384      /usr/lib/libgthread-2.0.so.0.2400.1
    00849000-0084a000 r--p 00003000 08:06 63384      /usr/lib/libgthread-2.0.so.0.2400.1
    0084a000-0084b000 rw-p 00004000 08:06 63384      /usr/lib/libgthread-2.0.so.0.2400.1
    0084b000-00852000 r-xp 00000000 08:06 43187      /lib/tls/i686/cmov/librt-2.11.1.so
    00852000-00853000 r--p 00006000 08:06 43187      /lib/tls/i686/cmov/librt-2.11.1.so
    00853000-00854000 rw-p 00007000 08:06 43187      /lib/tls/i686/cmov/librt-2.11.1.so
    00854000-00856000 r-xp 00000000 08:06 7993       /usr/lib/libXau.so.6.0.0
    00856000-00857000 r--p 00001000 08:06 7993       /usr/lib/libXau.so.6.0.0
    00857000-00858000 rw-p 00002000 08:06 7993       /usr/lib/libXau.so.6.0.0
    0085a000-0086d000 r-xp 00000000 08:06 14752      /lib/libz.so.1.2.3.3
    0086d000-0086e000 r--p 00012000 08:06 14752      /lib/libz.so.1.2.3.3
    0086e000-0086f000 rw-p 00013000 08:06 14752      /lib/libz.so.1.2.3.3
    0086f000-008ac000 r-xp 00000000 08:06 63382      /usr/lib/libgobject-2.0.so.0.2400.1
    008ac000-008ad000 r--p 0003c000 08:06 63382      /usr/lib/libgobject-2.0.so.0.2400.1
    008ad000-008ae000 rw-p 0003d000 08:06 63382      /usr/lib/libgobject-2.0.so.0.2400.1
    008b0000-008b1000 r-xp 00000000 00:00 0          [vdso]
    008b1000-01306000 r-xp 00000000 08:06 3045       /usr/lib/libQtGui.so.4.6.2
    01306000-01307000 ---p 00a55000 08:06 3045       /usr/lib/libQtGui.so.4.6.2
    01307000-01327000 r--p 00a55000 08:06 3045       /usr/lib/libQtGui.so.4.6.2
    01327000-0132a000 rw-p 00a75000 08:06 3045       /usr/lib/libQtGui.so.4.6.2
    0132a000-0132d000 rw-p 00000000 00:00 0 
    02d07000-02d36000 r-xp 00000000 08:06 14694      /lib/libpcre.so.3.12.1
    02d36000-02d37000 r--p 0002e000 08:06 14694      /lib/libpcre.so.3.12.1
    02d37000-02d38000 rw-p 0002f000 08:06 14694      /lib/libpcre.so.3.12.1
    0336d000-03486000 r-xp 00000000 08:06 8032       /usr/lib/libX11.so.6.3.0
    03486000-03487000 r--p 00118000 08:06 8032       /usr/lib/libX11.so.6.3.0
    03487000-03489000 rw-p 00119000 08:06 8032       /usr/lib/libX11.so.6.3.0Aborted
    


  • Du verwendest ja Qt, Warum nimmst du dann nicht gleich QtXml?
    Und glibc meldet ein free() auf einen ungültigen Pointer. Aus deinem Code erschließt sich mir das leider nicht.



  • Ich konnte TinyXml schon vor Qt deswegen benutz ich TinyXml.



  • TinyXml geht jetzt in int main() aber es lässt sich nicht aus meiner klasse game in der funktion new_game starten.

    int main()
    {
        Game agame;
        agame.new_game("aaa","a");
    
        return 0;
    }
    
    void Game::new_game(std::string game_name, std::string game_path)
    {
        int zahl=1;
    
        TiXmlElement root("root");
        root.SetAttribute("number", zahl);
    
        TiXmlElement name("NAME");
        TiXmlText nametext("");
        name.InsertEndChild(nametext);
    
        TiXmlElement path("PATH");
        TiXmlText pathtext("");
        path.InsertEndChild(pathtext);
    
        TiXmlElement para("PARA");
        TiXmlText paratext("");
        para.InsertEndChild(paratext);
    
        root.InsertEndChild(name);
        root.InsertEndChild(path);
        root.InsertEndChild(para);
    
        TiXmlDocument doc;
        doc.InsertEndChild(root);
        doc.SaveFile("./config/self.conf");
    
    }
    


  • Kannst du bitte ein koplettes, kompilierbares und möglichst minimales Beispiel posten? Denn aus dem Codeabschnitt ist dein Problem nicht ableitbar.



  • So habs geschaft es hat sich von selber richtig gemacht wie weiß ich nicht aber jetzt gibt er keine fehler mehr zurück 😕 :D.

    Trotzdem danke an alle die mir geholfen haben.


Anmelden zum Antworten