Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Anfängerfrage bzgl. ifstream (bitte nicht auslachen!)

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
06.07.2003, 13:14 Uhr
~Sascha Muentel
Gast


Hallo!

Wenn eine externe Ascii-Datei ausgelesen und der Inhalt ausgewertet werden soll, findet man folgenden Code im Programm:

ifstream s
...

s.open(bla.c_str());
...
key = readKey(s);

Irgendwie komme ich damit nicht ganz klar. Ich habe zwar sehr viel gelesen über Dateiverwaltung /-bearbeitung etc. aber ich verstehe das ganze

einfach nicht. Ich habe auch per Debugger versucht herauszufinden, was in diesem "s" alles gespeichert und weitergegeben wird. Irgendwie

schnalle ich das ganze nicht.

Kann mir vielleicht jemand in einfachen und verständlich Sätzen erklären, was für eine Funktion dieses "s", in Verbindung mit ifstream, hat und

was da genau weitergegeben wird an die Funktion readKey?

Mfg
Sascha Müntel

P.S.: Solche Anmerkungen wie "Lese mal die Faq" bringt leider nichts, ich habe es gelesen, ich verstehe es dennoch nicht so ganz. Also bitte, wenn ihr antwortet, dann bitte in verständlichen Worten, so daß ich als (absoluter) Anfänger auch etwas damit anfangen kann! Vielen Dank
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.07.2003, 13:59 Uhr
virtual
Sexiest Bit alive
(Operator)


Mit

C++:
ifstream s;


Wird eine Variable s angelegt. Diese variable hat den typen ifstream. Das ist eine Klasse, mit der aus dateien gelesen werden kann. Da Du nichts weiter schreibst, wird an dieser Stelle ein "leeres" Streamobjekt erzeuigt, dh insbesondere, daß Du zwar eine variable hast, aber keine Datei geöffnet hast.

C++:
s.open(bla.c_str());


Ruft nun die Methode open of ifstream auf. bla ist ganz offensichtlich der Dateiname gespeichert als ein string Objekt. Danach kann man mit s Eingabeoperationen durchführen.

Readkey kenne ich nicht.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.07.2003, 16:08 Uhr
~Sascha Muentel
Gast


Verstehe ich das jetzt richtig:

a) in "s" könnte so gesehen der gesamte Inhalt der Datei gespeichert sein? Beim Debuggen habe ich es nie so offensichtlich sehen können, daß wirklich der Inhalt der Datei sich in "s" befindet.

b) Und den Inhalt von "s" könnte man beliebig manipulieren?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.07.2003, 16:16 Uhr
~0xdeadbeef
Gast


Ein ifstream ist ein Input-Stream, das heißt, verändern ist nicht. Dafür brauchst du nen ofstream. In s ist nicht unbedingt der gesamte Inhalt der Datei gespeichert, in aller Regel wird nur ein Teil der Datei in den RAM gebuffert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
06.07.2003, 16:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


den buffer kann man glaub ich mit irgendnem flag einstellen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: