Die Dateien "stdout.txt", "stderr.txt"...
-
Hallo!
Ich programmiere derzeit mittels des VS.NET in C++ und habe da ein wahrscheinlich recht banales Problem.
Mein Projekt ist keine Konsolenanwendung, so dass Ausgaben von cout und cerr in den Dateien "stdout.txt" und "stderr.txt" landen. Wenn ich das ganze als "Release" kompiliere, klappt das alles wunderbar. Im "Debug" ist es jedoch so, dass beide Dateien "kurz" erzeugt, direkt nach Programmende aber wieder gelöscht werden

Kann ich dieses Verhalten irgendwo ändern/beeinflussen?
Viele Grüße,
Baumbart
PS: Unter C# habe ich zudem die Möglichkeit, mittles "Console.Write(...)" in das Ausgabefenster des VS zu schreiben. Ich nehme mal an, unter C++ klappt das nicht?

-
In einer nichtkonsolenanwendung erscheint mit cerr und cout etwas sinnfrei.
Was willst Du damit erreichen ? ggf. bietet sich etwas anderes besser an
-
Ich möchte eigentlich nur ein paar Informationen über den Programmverlauf ausgeben.
Und so wie ich das anderweitig gelesen habe, wird beim Aufruf von
cout << "Irgendwas";
bei einer Win32-Applikation (nicht Konsole) die Ausgabe standardmäßig in eine Datei "stdout.txt" geleitet (ist ja auch sehr praktisch, dann brauche ich nicht selber eine Datei von Hand zu erzeugen usw.). Es klappt ja auch alles, nur, wie gesagt, werden die Dateien nach Programmende gelöscht (allerdings eben nicht, wenn ich als Release kompiliere, dann klappt alles einwandfrei).
Viele Grüße,
Baumbart
-
wenn du die daten nachdem das programm beendet wurde nicht mehr brauchst, dann verwende ich zum fehlerfinden immer MessageBox()
ansonsten erstelle bei programmstart eine datei, öffne sie und anstelle von cout schreibst du daten in deine eigene Datei.
-
Emperor_L0ser schrieb:
ansonsten erstelle bei programmstart eine datei, öffne sie und anstelle von cout schreibst du daten in deine eigene Datei.
Ja, das wäre natürlich ein Workaround, werde ich dann wahrscheinlich notgedrungen auch so machen. Aber das Verhalten von VS wundert mich da nach wie vor.

Viele Grüße,
Baumbart