string und "+"-Operator
-
So, schon wieder ein neuer Thread. Und zwar gibts da ein recht simples Problem, im Prinzip ist es nur das hier:
char Variable[20]; //Nimmt zweistelligen Zahlenwert an! string cmd="ftp " + Variable;Und da wären wir schon bei dem Problem, geht einfach nicht. Dachte mir das es geht wie bei:
system("befehl_xyz" + Variable);Scheint aber nicht zu gehen. Hat da einer Rat?
-
Gewöhn dir gleich an, zu sagen, was nicht geht.
In deinem Falle addierst du zwei Zeiger (
"ftp "ist ein String-Literal und als solches vom Typconst char*), was nicht möglich ist.
-
wie soll ich's denn sonst machen?

-
// kann so nicht gehen "ftp " ist ein string literal, Variable ist ein char array, da gibt's keinen operator + der das frisst (und man kann auch selbst keinen definieren) //string cmd="ftp " + Variable; // so ginge es: string cmd=string("ftp ") + Variable; // so auch string cmd2="ftp " + string(Variable); // und natürlich so string cmd3=string("ftp ") + string(Variable);
-
way schrieb:
wie soll ich's denn sonst machen?

system((std::string("ftp ") + Variable).c_str());
-
Ah ok, alles klar, Danke!