Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Streams zusammenfassen ? String als Stream ?

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
16.06.2006, 15:25 Uhr
~NeoLeo
Gast


Hallo,


ich habe folgedende Funktion


C++:
machIrgendwas (std::ifstream &input){

}



normalerweise ruf ich die Funktion mit dem Stream einer Datei auf. Nun möchte ich jedoch den Inhalt mehrerer Dateien zusammenfassen und dann die Funktion aufrufen (das wiederholte Aufrufen per for-Schleife würde nicht das gewünschte Ergebnis liefern).

Da gibt es meiner Meinung nach zwei Möglichkeiten:

Entweder ich fasse die einzelnen Streams in einer Schleife zu einem Stream zusammen und rufe dann die Funktion auf (ist sowas überhaupt möglich ? Wenn ja wie ?)

Oder ich lese die einzelnen Dateiinhalte in einen String ein, hänge sie jeweils hinten an den Stream an und mache aus dem String wieder einen Stream und rufe dann die Funktion auf. Aber wie mach ich aus einem String einen ifstream ??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.06.2006, 00:28 Uhr
Spacelord
Hoffnungsloser Fall


Muss es denn unbedingt nen ifstream als Parameter sein?

Gruss Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.06.2006, 13:57 Uhr
~NeoLeo
Gast


Was wäre die Alternative ? (Und was der Vorteil/Nachteil ?)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.06.2006, 14:14 Uhr
(un)wissender
Niveauwart


Woher sollen wir denn das wissen? machIrgendwas sagt nicht viel aus.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.06.2006, 15:58 Uhr
ao

(Operator)


machIrgendwas nimmt als Parameter einen ifstream. Fraglich ist, ob das unbedingt ein File-Stream sein muss oder ob auch ein einfacher istream reicht.

Hier: www.cplusplus.com/ref/iostream/
gibts eine prima Übersicht über die iostream-Library, die dir zeigt, dass ifstream direkt von istream abgeleitet ist. Wenn also machIrgendwas nicht dran klebt, ein File in die Finger zu bekommen, kannst du es vielleicht auch mit einem istream füttern, hinter dem wahlweise eine Datei, ein String oder auch der Standard-Eingabestrom (cin) stecken kann.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.06.2006, 20:49 Uhr
Spacelord
Hoffnungsloser Fall


Insbesondere könntest du dann ganz einfach nen stringstream benutzen.Für stringstream(ostream) ist der operator << für streambuf überladen so dass du ganz easy den Inhalt der Dateien in den stringstream schieben kannst und diesen dann als istream an machWas übergeben kannst.
Aber das sind halt alles Vermutungen weil keiner weiß was konkret machIrgendwas mit dem ifstream anstellt.

Gruss Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
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: