Wie kann man Dateien unter einem Gewünschten Namen speichern?
-
Ich meine, mithilfe eines pp Programms erstelle ih Automatisch eine .txt Datei(das weiß ich). Aber wie geht es, dass ich es unter meinen gewünschten Namen speichere:
#include <iostream> #include <fstream> ... string eingabe; cin >> eingabe; ... string a; cin >> a; ofstream outfile; outfile.open(a.".txt"); outfile << eingabe << endl; outfile.close(); return 0; }
-
#include <iostream> #include <fstream> ... string eingabe; cin >> eingabe; ... string a; cin >> a; ofstream outfile; a += ".txt"; outfile.open(a.c_str()); outfile << eingabe << endl; outfile.close(); return 0; }
-
Mittels der Memberfunktion
std::string::c_str(), die kannst du z.B. auf www.cplusplus.com nachschlagen.
-
ghj:
Klapt wunderbar! Danke!

-
Hab' euer Beispiel mal aufgegriffen, hab' nur eine Frage.
Beim ersten cin, also beim Einlesen des Textes, landet nur das erste Wort
im Text, das zweite wird automatisch schon der Name der Datei, der Rest, den ich
schreib' taucht gar nicht auf.Wieso kann ich da keine Texte reinschreiben (nur 1 Wort)?
Nimmt cin generell nur ein Wort auf?
Wie müsste ich das Beispiel ändern, um erstmal einen Satz schreiben zu können und dann erst nach Drücken von Entern den Namen der Datei?#include <iostream> #include <fstream> using namespace std; int main() { string eingabe; cout << "Text eingeben: " << endl; cin >> eingabe; string a; cout << "Zieldatei (ohne .txt) eingeben" << endl; cin >> a; ofstream outfile; a += ".txt"; outfile.open(a.c_str()); //.c_str() = Get C string equivalent outfile << eingabe << endl; outfile.close(); return 0; }
-
Ja.
std::cinliest formatierten ein und trennt bei Leerzeichen.
Wenn du eine ganze Linie möchtest, dann kannst dustd::getlinebenutzen.
-
Ok, danke schön
