char to char[20], char to char *
-
schrengtoi schrieb:
Für die stringklasse musst du die string.h includieren und kannst dann ganz bequem strings per "string" deklarieren und benutzen (wer hätte das gedacht ;))
hmm ich denke nicht das man dafür string.h inkludieren sollte, afaik ist das eine C-Header bzw seine "c-inkludierungssyntax".. sie sollte hier cstring heissen , was aber nichts daran ändert dass es nicht der header füt den std::string ist, der heisst einfach string. cstring ist für "string(oder besser char*) "-bearbeitungsfunktionen wie strcat,strncat,strcpy..
mfg
-
das was evilissimo geschrieben hat, wird wohl auch dein abstürzproblem sein!
-
Hehe, das Problem ist dass ich nicht auf dem Computer programmiere auf dem ich hier im forum bin, das heißt ich habe mich nur vertippt, im Programm steht es richtig.
Sorry 4 that!

-
also bei mir gehtz so:
class TestKlasse { public: TestKlasse (const string KonstEingabe) { Variable=KonstEingabe; Ausgabe2(); } string Ausgabe (string Eingabe) { return (Eingabe += "HeHe\n"); } string Ausgabe2 () { return Variable; } private: string Variable; }; int main(int argc, char* argv[]) { TestKlasse Schurl("Erster Text"); //hier stürtzt er ab cout<<Schurl.Ausgabe("Ich bin der Schurl!"); //du musst den returnwert naturlich auch veratbeiten getch(); return 0; }
-
Mein Programm sieht so aus, es geht immer noch nicht, es stürzt immer ab und zwar bei/nach printf("%s", Ausgabe2()).
class TestKlasse { public: TestKlasse (const string KonstEingabe) { Variable = KonstEingabe; printf("%s", Ausgabe2()); //das hier geht nicht } string Ausgabe (string Eingabe) { return (Eingabe += "HeHe\n"); } string Ausgabe2 () { return Variable; } private: string Variable; }; int main(int argc, char* argv[]) { TestKlasse Schurl("Erster Text"); printf("%s", Schurl.Ausgabe("Ich bin der Schurl!"); getch(); return 0; }Aber wieso?
Schöne Grüße, Steve

-
weiß jetzt nicht, aber bei mir gehtz ohne probleme!
Auch das hier:
TestKlasse (const string KonstEingabe) { Variable = KonstEingabe; printf("%s", Ausgabe2()); //das hier geht nicht }funktioniert!
Nur du hast eine schließende Klammer vergessen hier:
printf("%s", Schurl.Ausgabe("Ich bin der Schurl!");
-
Ja, die Klammer ist eh da, wie gesagt, ich bin ned auf dem PC auf dem ich programmiere. Vielleicht hilft das hier, die Fehlermeldung lautet:
Unhandeld exception at 0x0041bb9c in Uebung1.exe: 0xC0000005: Access violation reading location 0xccccccc.
Schöne Grüße, Stefan!
-
Sir_Steve schrieb:
Mein Programm sieht so aus, es geht immer noch nicht, es stürzt immer ab und zwar bei/nach printf("%s", Ausgabe2()).
public: TestKlasse (const string KonstEingabe) { Variable = KonstEingabe; printf("%s", Ausgabe2()); //das hier geht nicht }Ich kann mir nicht vorstellen dass das geht. Habs aber auch nicht probiert.
printf() erwartet doch in diesem fall ein const char * in der varargs.printf("%s",Ausgabe2().c_str());Obwohl ich mich frage warum ihr überhaupt printf() benutzt.
-
Gut, dann eben kein printf (habe ich von meinem lehrer, und ich mag das mim formatierungsstring so sehr)
Und mit cout geht es jetzt, vielen dank!
Damit ist mein Problem gelöst und ich kann mich wieder meinem Programm widmen das irgendwann einmal das Microsoft Monopol zerschlagen wird, hoho!
Schöne Grüße. Steve!

-
prolog schrieb:
Sir_Steve schrieb:
Mein Programm sieht so aus, es geht immer noch nicht, es stürzt immer ab und zwar bei/nach printf("%s", Ausgabe2()).
public: TestKlasse (const string KonstEingabe) { Variable = KonstEingabe; printf("%s", Ausgabe2()); //das hier geht nicht }Ich kann mir nicht vorstellen dass das geht. Habs aber auch nicht probiert.
printf() erwartet doch in diesem fall ein const char * in der varargs.doch geht!