f.open
-
hi,
ich hab ein problem und zwar möchte ich eine datei mit f.open öffnen,f.open("test.dat", ios::out)
allerdings möchte ich statt dem "test.dat" eine variable die zuvor per cin definiert wurde ersetzen.
char A
cin >> A
f.open(???, ios::out);Wenn möglich soll in der variable kein ".dat" nötig sein um sie zu öffnen.
Vielen Dank im Vorraus
Pingu
-
Dazu musst du einen String (char* oder std::string) einlesen, nicht ein einzelnes Zeichen (char). Diesen kannst du dann auch einfach an die open-Methode übergeben. Wenn du möchtest, dass der Benutzer die Endung weglassen darf, musst du dich aber selbst darum kümmern, dass diese bei Bedarf angehängt wird. Dazu kannst du z.B. prüfen, ob die letzten 4 Zeichen ".dat" entsprechen, und dementsprechend die Endung noch dranhängen oder eben nicht.
fstream f; char sFileName[MAX_PATH]; cout << "Dateinamen eingeben: "; cin >> sFileName; f.open(sFileName,ios::out);
Übrigens solltest du bitte cpp-Tags benutzen, damit dein Code lesbarer dargestellt wird. Außerdem hast du nicht erwähnt, was "f" denn ist (vermutlich ein fstream), und in deinem Code fehlen einige Semikola...
Und "voraus" schreibt man mit einem "r"!