[wx] Printf-Koriosität
-
Hallo,
ich bin noch nicht allzu bewandert, was C++ bzw. wxWidgets angeht und stehe deshalb bei einem Fehler auf dem Schlauch. Hier erstmal der Codeauszug:wxString data, tmp; for(int k=0; k<7; k++){ if(macros[i].data_repeat[k] != 0){ data.Append(hex(macros[i].data_address[k])); data.Append(wxT(" [")); // *1 tmp.Printf("%d", macros[i].data_repeat[k]); data.Append(tmp); data.Append(wxT("x; ")); // *2 tmp.Printf("%d", (macros[i].data_delay[k] * 500)); data.Append(tmp); data.Append(wxT("ms], ")); } }
Das Ganze funktioniert so nicht, das Programm stürzt ab. Wenn ich jedoch die beiden Zeilen nach *1 ODER *2 rauskommentiere funktionierts. Nur beide zusammen gehen nicht! Sieht jemand den Fehler?
mfG, Sven
-
Würde eher zum << operator von wxString raten, als Printf.
Ansonsten, was sagt der Debugger?
-
Hallo,
wenn dich der Fehler interessiert, poste mal deine wx-Version und deinen Compiler, weiterhin ob du ein fertiges Paket genommen hast.
Im wxWidgets-Revision Log sind jedenfalls ein paar heftige (geschlossene) Bugs von wxString::Printf zu finden, wenn du eine alte Version verwendest (2.6.x) , kann sowas schon der Grund sein.