TinyXml keine Ausgabe
-
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.