mehrere wörter in einer variablen? c++
-
Was verstehst du unter "mit Variable ergänzen"?
Willst du dafür eine Variable anlegen? Dann kannst du das folgendermassen tun:
std::string FileName = "file.txt"; std::fstream FileStream(FileName.c_str());
-
Ich möchte
f.open("test(DAS HIER).txt", ios::out);
um eine variable, z.B eins erweitern.
sodass am ende die datei testeins.txt heißt.
-
Dann brauchst du eine
std::string-Variable für den Dateinamen. Dann kannst du mitstd::string::find()die passende Stelle finden, in der du den neuen String (in deinem Fall "eins") einfügen willst. Bei dir wäre das vor dem Punkt bei ".txt".Mitstd::string::insert()kannst du dann die Einfügung vornehmen.
-
Alternativ zu Nexus' Vorschlag, kannst du auch stringstreams nehmen:
#include <sstream> ... std::stringstream s; s << "test" << 2 << ".txt"; std::string name = s.str(); ..
-
Grundsätzlich ist drakons Möglichkeit die bessere. Ich bin bei mir davon ausgegangen, dass der Name "test.txt" bereits so vorliegt und man nachträglich noch das "eins" einfügt...
-
das mit dem string.insert() und string.find versteh ich nicht so richtig. kannst du mir das an meinem code zeigen?
-
Du scheinst dich ja stur gegen www.cplusplus.com zu wehren...

Lies doch einfach die Codebeispiele dort in aller Ruhe durch. Wenn ich dir jetzt einfach den fertigen Code poste, bringt das dir auch nichts, weil du in anderen Fällen nicht damit umgehen kannst.
-
wenn ich das richtig verstanden habe muss dann da:
f.open(str.insert(anfang,mitte,ende), ios::out);
hin...aber das geht nicht!
-
Blake_MaX schrieb:
wenn ich das richtig verstanden habe muss dann da:
f.open(str.insert(anfang,mitte,ende), ios::out);
hin...aber das geht nicht!
Geht nicht, gibts nicht. Gibt eine Compilermeldung? Wenn ja:
Liess sie und versuch sie zu verstehen!
-
ok ich hab das jetzt mal irgendwie komplett anders gemacht. mit stringstream:
filename<<"Test-"<<txtname<<".txt";
f.open(filename.str().c_str(), ios::out);funktioniert alles!...Vielen Dank für eure Hilfe!