Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Problem mit Ausgabe der Ergebnisse von C++ in Editor

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
26.12.2015, 21:22 Uhr
Mido



Ich habe eine Textdatei, von der ich innerhalb einer einzigen cpp-Datei die Werte einlesen kann. Dazu lege ich die mit "double" Zahlen gefüllten Editor-Datei im Projektordner und schreibe in meiner cpp-Datei das Folgende:

...
#include <fstream>
ifstream read_from("meine_text_datei.txt");
...

In einer for-Schleife lese ich dann die Werte ein:

...
read_from >> MeinArray[i];
...

Und so kann ich mein Zahlenfeld mit Zahlen füllen.

Soweit alles klar.

Jetzt möchte ich aber eine Editor-Datei erzeugen, die als Output Datei dient. Ein bisschen Recherche ergab:


...
#include <fstream>
ofstream write_into("meine_output_text_datei.txt");
...

Dazu lege ich auch eine Editor-Datei mit dem Namen meine_output_text_datei im Projektordner. Mithilfe des Folgenden lässt sich die Exceldatei mit Text und Zahlen füllen:

...
write_into << "a b c d" << endl;
write_into << 23 << endl;
...

nun zum Problem:

Manchmal möchte ich Zahlen oder Text innerhalb dieser Output-Datei schreiben, aber von einer ANDEREN cpp-Datei.

Genau genommen, ich habe mehrere cpp-Dateien und möchte die Früchte dieser Berechnungen der einzelnen cpp-Dateien einfach in dieser "meine_output_text_datei" reinschreiben.

Wie soll ich da am besten vorgehen? Wenn ich in jeder cpp-Datei dasselbe nochmal reinschreibe, also:
...
#include <fstream>
ofstream write_into("meine_output_text_datei.txt");
...

bekomme ich immer wieder Fehlermeldungen.

Vielen Dank für eure Hilfe und Unterstützung im Voraus.

Viele Grüße

Mido
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.12.2015, 19:28 Uhr
ao

(Operator)


Du musst eine Referenz oder einen Zeiger auf den ofstream in den anderen Dateien bekannt machen. Quick and dirty geht das über globale Variablen (Stichwort "extern"). Der schöne Weg ist über Klassen, die sich gegenseitig kennen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
31.12.2015, 17:31 Uhr
~Mido
Gast


Hi ao,

wie kann ich in nur einer cpp-Datei das Objekt "read_from" so definieren:

#include <fstream>
ifstream read_from("meine_text_datei.txt");


dass dieses read_from auch in anderen cpp-Dateien erkannt wird?!

Vielen Dank!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
31.12.2015, 21:56 Uhr
ao

(Operator)


in anderen Cpp-Dateien

extern ifstream read_from;

schreiben. Das Objekt muss dazu global sein.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
02.01.2016, 01:22 Uhr
~Mido
Gast


Ja, aber das ist quick and dirty? Wie macht man es "richtig"?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.01.2016, 10:55 Uhr
ao

(Operator)


"Richtig" ist sowas häufig ein Teil von einer größeren objektorientierten Lösung. Das heißt, man zerlegt die Gesamtaufgabe in mehrere Komponenten, die je eine Teilaufgabe erfüllen. Eine dieser Teilaufgaben ist "Textdatei schreiben". Im Zusammenwirken von allen wird dann die Gesamtaufgabe erledigt.

Das ist ein Entwurfsprozess, den man am besten an einem Beispiel verdeutlicht. Zeig mal dein Programm vollständig und nicht nur schnipselchenweise, daran lässt es sich vermutlich erklären.
 
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: