[C++] Wie kann ich den Output in eine Textdatei schreiben?

3 Antworten

Erstmal: von allen Anwendungsfällen für C++ ist das vielleicht der schlechteste, der mir einfallen würde. Deine Aufgabenstellung kannst du mit einem Batchskript (oder meinetwegen Powershell) wesentlich einfacher, schneller und zuverlässiger erledigen - dafür wurde das erfunden.

Aber wenn es sein muss: um den Output von einem gestarteten Prozess einzufangen, ist popen() der übliche und halbwegs portable Weg.

Alternativ kann man auch das Win32-API verwenden, das ist nicht gerade kürzer, aber etwas besser steuerbar: https://docs.microsoft.com/en-us/windows/win32/procthread/creating-a-child-process-with-redirected-input-and-output

Ich kann auch nicht ausschließen dass heute in der Standardlibrary von C++14/17/20 irgendwas Bequemeres für den Zweck existiert, aber das müsste man ergooglen.

Moin,


ofstream MyFile("Filename.txt");
		MyFile << DatenZumUebergeben
		MyFile.close();

Erstellst also einen ofstream mit Dateinamen und schreibst in diesen hinein wie in ein cout.

LG

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting