einfache Frage bez. char*
-
Hi!
Ich arbeite erst seit kurzem mit chars (damals immer Strings inner VCL).Kann mir wer sagen warum hier das Programm beendet wird?
char *b = new char[4]; char *a = "tst"; b[0] = 't'; b[1] = 's'; b[2] = 't'; b[3] = '\0'; if (a != b) { exit(0); }
-
wenn du eh C++ verwendest, warum dann kein std::string?
naja, exit() sollte man in C++ programmen auch nie verwenden, da keine lokalen objekte zerstoert werden.
du hast ausserdem kein delete -> speicherloch
a==b vergleicht, ob beide zeiger auf den selben speicher zeigen - was sie nicht tun.
du suchst anscheinend die funktion strcmp()
-
genau, versuchs mal mit
if (strcmp(a,b)!=0)