stringstream in char geht nur bis zum 1. leerzeichen
-
hi,
hab nen kleines problem. im netz und hier im forum hab ich leider keine lösung gefunden.
ich wäre dankbar für einen tip, wie ich es machen kann bzw. was ich falsch mache
- ich lerne ja auch noch :).mein problem ist, daß ich in einem programm eine variable als kommandozeilenparameter an den befehl "system" übergeben möchte.
das problem ist 1. daß "system" keine strings geschweige denn stringstreams schluckt und 2. daß ich die variable nicht zusammen mit dem befehl in eine char-variable kriege.
der quelltext sieht z.b. so aus:
int main() { char c_ip, c_befehl; stringstream ss_befehl; cout << "ip-adresse: "; cin >> c_ip; ss_befehl << "ping " << c_ip; ss_befehl >> c_befehl; system(c_befehl); }ich hoffe da kann jemand was mit anfangen, hab das jetzt nur mal so schnell der einfachheit halber aufgeschrieben.
mein fehler ist, daß er bei
ss_befehl >> c_befehlnur alles bis zum ersten leerzeichen übernimmt, also nur "ping".
ich hab es mit stringstream versucht, weil es meiner meinung nach am einfachsten ist. scheinbar hab ich mich geirrt
.ich habe auch schon andere varianten getestet, leider alles erfolglos.
wär super, wenn jemand was dazu weiß.
danke schonmal!!!
fire
-
std::ostringstream ss_befehl; ss_befehl << 5; std::system(ss_befehl.str().c_str());
-
genial, vielen dank.

es hat funktioniert!!!
super, das bringt mich ne ganze ecke weiter.
hatte mich gestern entschlossen nen thread hier zu eröffnen kurz nachdem das forum abgeschaltet wurde, die warnung hatte ich noch kurz vorher gesehen *gg* - tja das warten hat sich aber gelohnt

gruß
fire