einer der üblichen speicherprob's: kann "char *" nicht freigeben!
-
hi folgender code lief mir über den weg:
char* tmpBufferNumber = new char[sizeof(BYTE)]; // einige sring- ops: string tmpStr = tmpBufferNumber; //noch mehr davon aber genau so.. // wegschreiben der daten (to file) delete tmpBufferNumber; // hier crash.
jemand ne idee wieso ich den speicher net frei kriege? greift die string- stl- klasse direkt auf den speicher zu (ohne copy)?
thx
marcel
-
Hm, das sieht ja schauerlich aus.
Aber: new[] musst Du immer mit delete[] verwenden.
-
wenn du new[] verwendest, musst du auch delete[] zum Freigeben der DAten benutzen.
delete[] tmpBufferNumber; // hier crash.
-
danke!
ja, schauerlich is er. wird wohl auch net besser ohne fehler
-
war nicht der fehler.
ich musste wieder mit hässlichem statischem char[] arbeiten.
muss doch auch anders gehn!
in C mach ich einfach "malloc".. wie mach ich son dyn string in C++?
ich brauch halt den C- string weil ich von int zu string convertieren will.. mit itoa..
-
Gehirnmann! schrieb:
in C mach ich einfach "malloc".. wie mach ich son dyn string in C++?
char * c = new char[size];
oder gleich
std::string s;
-
#include <sstream> std::stringstream sout; std::string my_string; int my_number = 42; sout << my_number; my_string = sout.str(); //my_string ist jetzt "42"
-
string << operatoren:
die sind ja geil.. funzt wie sau. hab gar net gewusst was die noch so alles können.
ich bin sehr erstaunt.. kein wunder dass C++ so viel benutzt wird