Ausgabe in Datei umlenken



  • Hi Forum,
    ich versuche (als Umsteiger von VB 6.0) in einem Programm, das aus diversen Funktionen und Klassen besteht eine allgemeine Ausgage in eine Datei zu machen.
    Ich möchte als in den div. Prozeduren einfach einen Befehl eingeben, der dann die AUsgabe in meine AUsgabedatei macht.
    Irgendwie funzt das aber nich:

    int main()  //
      {
        ofstream ausgabeDatei ("ausgabe_.txt");// Öffnen (evtl. erst kreieren) der Datei "aus.txt" zum Schreiben
    

    dann werden versch. Klassen aufgerufen, indenen ich natürlich auch noch in diese Datei schreiben möchte.
    Muss ich tatsächlich immer wieder diese Datei (pro Prozedur) öffnen und schließen ?
    Oder wie kann ich generell global auf diese Ausgabemöglichkeit zugreifen?
    Mir würde es also auch reichen, wenn alle Ausgaben des programms in eine datei gehen.
    Evtl. kennt ja jemand auch ein nettes Beispielproggy mit sowas, aber weder die Forensuche, noch Google haben mich wirklich weitergebracht 😞



  • Gib die Datei doch als Parameter (Zeiger) mit. 🙂

    Du programmierst in C++, sehe ich das richtig? Ich würde dich dann mal in das passende Forum schieben.



  • estartu schrieb:

    Gib die Datei doch als Parameter (Zeiger) mit. 🙂

    hmm, ich und meine lieben Freunde die Zeiger.
    Na dann muss ich mich wohl doch mal mit denen beschäftigen 😉

    estartu schrieb:

    Du programmierst in C++, sehe ich das richtig? Ich würde dich dann mal in das passende Forum schieben.

    JEIN, ich benutze VS 2005 und dabei halt das C++.
    Bin aber auch erst ganz frisch dabei 🙂



  • Da deine Frage eher zu C++ als zum Visual C++ ist, schiebe ich dich besser - hier wird codetechnisch eher die MFC besprochen, die wolltest du ja noch nicht lernen, oder? 🙂

    Zeiger sind nicht böse, du musst nur genau nachdenken und immer auf NULL setzen und prüfen.



  • estartu schrieb:

    Da deine Frage eher zu C++ als zum Visual C++ ist, schiebe ich dich besser - hier wird codetechnisch eher die MFC besprochen, die wolltest du ja noch nicht lernen, oder? 🙂

    hmm, eigentlich nich 😉

    estartu schrieb:

    Zeiger sind nicht böse, du musst nur genau nachdenken und immer auf NULL setzen und prüfen.

    najut, Zeiger ich komme 🙂



  • Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • wenn es immer eine Datei ist und du keine weiteren Ausgaben machst, kannst du den stdout einfach in eine Datei umleiten. Ist auch für Fehler(stderr) sehr praktisch.

    freopen (filepointer, "stdout.txt", stdout);



  • DocJunioR schrieb:

    wenn es immer eine Datei ist und du keine weiteren Ausgaben machst, kannst du den stdout einfach in eine Datei umleiten. Ist auch für Fehler(stderr) sehr praktisch.

    freopen (filepointer, "stdout.txt", stdout);

    ... hast du da evtl ein kleinen Beispielcode am Start? 🙄



  • DocJunioR schrieb:

    wenn es immer eine Datei ist und du keine weiteren Ausgaben machst, kannst du den stdout einfach in eine Datei umleiten. Ist auch für Fehler(stderr) sehr praktisch.

    freopen (filepointer, "stdout.txt", stdout);

    Fast...

    aber so geht es: http://www.openbsd.org/cgi-bin/man.cgi?query=freopen&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html

    //edit

    Mach es aber fast einfacher so:
    prog.exe > ausgabefile.txt

    im prog.cpp musst du es nur mit cout "ausgeben"

    Gg


Anmelden zum Antworten