Variabler Dateiname
-
Hallo, ich bin neu hier ob erst mal eine Frage,
wie kann ich den Dateinamen als stringvariable benennen?mein rein theroretisches programm sieht so aus:
#include <fstream> #include <iostream> using namespace std; int main() { string DateiName; cout << "Geben sie einen Namen ein\n"; cin >> DateiName; fstream datei("c:\\Ausgabe\\DateiName.txt", ios::out|ios::app); string zeile="Hallo Welt"; datei << zeile << endl; cin.get(); }Im Vorraus schonmal Danke für einen Antwort!!

Edit v. Arcoth: Code-Tags.
-
kann mir jemand erklären, warum das Wort V-o-r-r-a-u-s zensiert wird?????

-
JederFängtMalKleinAn schrieb:
kann mir jemand erklären, warum das Wort V-o-r-r-a-u-s zensiert wird?????

Ja, man schreibt es Voraus, mit einem r.
Übergib einfach DateiName an den Konstruktor. Ggf. noch ein .c_str() anhängen, falls kein C++11.
Übrigesn: Wenn du nur ausgeben willst, nutz std::ofstream, der fügt das std::ios::out implizit an.
-
ups mein Fehler, bin bisschen übernächtigt...

wie würde des dann bei dir aussehen, könntest du den code mal kurz ausschreiben?
ich hab des nämlich schon so versucht aber ich bin mir jetzt nicht sicher wie mans richtig schreibt

-
Nun, anstatt "c:\\Ausgabe\\DateiName.txt" schreibst du einfach die Variable:
std::ofstream datei(DateiName);
-
aber dann geht mir ersten der zielort verloren und die Definition, dass es eine .txt-Datei wird. Was soll ich machen?? *ratlos*
-
std::ofstream datei("c:/Ausgabe/" + DateiName + ".txt");
-
also so:
#include <fstream>
#include <iostream>
using namespace std;int main()
{
string DateiName;cout << "Geben sie einen Namen ein\n";
cin >> DateiName;std::ofstream datei("c:/Ausgabe/" + DateiName + ".txt");
string zeile="Hallo Welt";
datei << zeile << endl;cin.get();
}
des will bei mir aber einfach nicht gehen...
-
Definiere "will bei mir einfach nicht gehen". Compiler error? Linker error? Program crash? Erstellt keine Date? Computer fängt Feuer?
-
Womit wir wieder bei der ersten Antwort sind, entweder .c_str() anzufügen oder C++11 zu aktivieren.
-
SeppJ schrieb:
Womit wir wieder bei der ersten Antwort sind, entweder .c_str() anzufügen oder C++11 zu aktivieren.
Oder C++14 aktivieren.
-
clockowner schrieb:
SeppJ schrieb:
Womit wir wieder bei der ersten Antwort sind, entweder .c_str() anzufügen oder C++11 zu aktivieren.
Oder C++14 aktivieren.
C++14 impliziert ja C++11 oder haben sie irgendwas wieder entfernt?

-
sorry ich bin grad vollkommen verwirrt, könnte mir jmd einfach mal ein funktionierendes programm hier reinschreiben? *ratlos*
-
SeppJ schrieb:
clockowner schrieb:
SeppJ schrieb:
Womit wir wieder bei der ersten Antwort sind, entweder .c_str() anzufügen oder C++11 zu aktivieren.
Oder C++14 aktivieren.
C++14 impliziert ja C++11 oder haben sie irgendwas wieder entfernt?

gets

C++14 impliziert C++11, aber C++11 impliziert nicht C++14.
C++11 ist für den TE hinreichend, aber C++14 schadet auch nichts (und darf explizit erwähnt werden, da es durch nichts impliziert wird).@TE:
string DateiNameMitPfad = "c:\\Ausgabe\\" + DateiName + ".txt" std::ofstream datei(DateiNameMitPfad.c_str());
-
#include <fstream>
#include <iostream>
using namespace std;int main()
{string DateiName;
cout << "Geben sie einen Namen ein\n";
cin >> DateiName;string DateiNameMitPfad = "c:\\Ausgabe\" + DateiName + ".txt"
ofstream datei(DateiNameMitPfad.c_str());
string zeile="Hallo Welt";
datei << zeile << endl;cin.get();
}
und jetzt??? *Vollkommen-verzweifelt*
-
Und jetzt was? Ist das eine Frage?
-
es läuft immernoch nicht -.-
-
Nathan schrieb:
Definiere "will bei mir einfach nicht gehen". Compiler error? Linker error? Program crash? Erstellt keine Date? Computer fängt Feuer?
-
Des is jetzt schon der 3. Computer der mir in abgebrannt is...

-
weshalb wurde mein vorheriger Post nicht zugelassen?