Hallo,
ich habe in einer Funktion einen char*, dem ich gleich was zuweise, etwa so:
char *c=" Submit :f8:c(";
mittels strcat soll da jetzt noch etwas drangehängt werden:
strcat (c, „do this“);
und dann ausgegeben werden (cout
Hallo,
ich habe in einer Funktion einen char*, dem ich gleich was zuweise, etwa so:
char *c=" Submit :f8:c(";
mittels strcat soll da jetzt noch etwas drangehängt werden:
strcat (c, „do this“);
und dann ausgegeben werden (cout
Hi Jan ))
char *c=" Submit :f8:c(";
Dein String in Anführungszeichen ist eine Konstante und c ist ein Zeiger auf die Startadresse dieser Konstanten!
mittels strcat soll da jetzt noch etwas drangehängt werden:
strcat (c, „do this“);
Ja, das geht natürlich nicht. Eine Konstante ist unveränderbar, also kannst du da auch nichts dranhängen.
Und bei eben dieser Ausgabe kommt nur Müll raus!
Wie kriege ich es hin, daß das eben nicht so ist.
Du musst c nur anders deklarieren:
char c[256]=" Submit :f8:c(";
Jetzt ist c ein variabler String mit maximal 255 Zeichen (plus Nullbyte), der mit dem konstanten String initialisiert wird. Die restlichen Stellen werden mit ‚\0‘ aufgefüllt. Der variable String sollte groß genug sein, damit das, was du an den Originalstring noch dranhängen willst, auch noch Platz hat
Und weiterhin möchte ich mittels strcat Felder eines Arrays
anfügen:
strcat(c, args[0]); //args[0]=„C:\Pow“
strcat(c, args[1]); //args[1]=„Test1“
Wieder musst du c wie oben beschrieben deklarieren.
cu Stefan.
Hi Stefan,
Und bei eben dieser Ausgabe kommt nur Müll raus!
Wie kriege ich es hin, daß das eben nicht so ist.Du musst c nur anders deklarieren:
char c[256]=" Submit :f8:c(";
Habe ich getan. Bringt aber nicht wirklich was.
Vorher hatte ich „est2.ka“ drin, jetzt habe ich „est2.kaSubmit :f8:c(“. Das ist aber nicht im Sinne des Erfinders.
Ich muß doch irgendwie das Array leerkriegen?!
Ich kann doch nicht auf gut Glück da irgendwas weglöschen…
bitte um Hilfe,
jan
Hi Jan
char c[256]=" Submit :f8:c(";
Habe ich getan. Bringt aber nicht wirklich was.
Oh doch, das bringt gewaltig was. Du kannst c[] nämlich jetzt verändern, was du vorher nicht konntest
Vorher hatte ich „est2.ka“ drin, jetzt habe ich "est2.kaSubmit
f8:c(". Das ist aber nicht im Sinne des Erfinders.
Das ist doch, was du wolltest, oder?! Dass ein String an einen anderen drangefügt wird …
Ich muß doch irgendwie das Array leerkriegen?!
*c= ‚\0‘; //Ich lösche den String im Array
cu Stefan.