Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » fstream -> verschiedene Dateien

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.11.2006, 15:36 Uhr
Kleine



Hallo,
ich habe eine Frage bzgl. des Öffnens einer bestimmten Datei.

Gibt es eine Möglichkeit, dass ich den Benutzer frage ob "a oder b" und ich entsprechend dann die dateien a.txt oder b.txt öffne?

Eine einzelne Datei öffne ich so:
fstream file("./test.txt", ios::in);

Ich habe es mit einer if-Abfrage versucht, allerdings funktionierte es damit nicht.
also
if(eingabe == "a")
fstream file("./a.txt", ios::in)
else if (eingabe =="b")
fstream file("./b.txt", ios::in)

Hoffe, man kann verstehen, was ich meine.

Lg
Anfänger
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.11.2006, 19:41 Uhr
BoBtheREapER
kein job für nen BoB


ist eingabe ein string oder ein char? wenn eingabe ein char ist probier mal

C++:
if(eingabe == 'a')
fstream file("./a.txt", ios::in)
else if (eingabe =='b')
fstream file("./b.txt", ios::in)



anstatt den normalen anführungszeichen(") die einfachen anführungszeichen(')
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.11.2006, 13:04 Uhr
Kleine



Vielen Dank für Deine Antwort.
Allerdings klappt es auch damit nicht.

Ich bekomme erneut die Fehlermeldung "file was not declared in this scope", wenn ich dann damit weiter arbeiten möchte....

Lg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.11.2006, 13:51 Uhr
BoBtheREapER
kein job für nen BoB


fstream liegt im nahmensraum der standart template libary. entweder du fügst am anfang der datei

C++:
using namespace std;


ein oder du schreibst immer std:: davor

C++:
if(eingabe == 'a')
std::fstream file("./a.txt", ios::in)
else if (eingabe =='b')
std::fstream file("./b.txt", ios::in)


--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu

Dieser Post wurde am 19.11.2006 um 13:52 Uhr von BoBtheREapER editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.11.2006, 19:02 Uhr
Kleine



Vielen Dank.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.12.2006, 12:45 Uhr
RHBaum




C++:
if(eingabe == 'a')
std::fstream file("./a.txt", ios::in)
else if (eingabe =='b')
std::fstream file("./b.txt", ios::in)



Glaub ned das dein compiler das so frisst ....
In der Verzweigung ne variable deklaren sollte der compiler eh nur temporaer machen ...

Besser in dem Fall, da deine Filenamen als constante strings vorliegen, einfach in der verzweigung auf das enstrpechende literal matchen und fstream dann damit oeffnen ...


C++:
const char * pFile = NULL;
if(eingabe == 'a')
pFile = "./a.txt";
else if (eingabe =='b')
pFile = "./b.txt";

std::fstream file(pFile, ios::in);




Ciao ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: