digitalmars.D.learn - stdout redirect
- "Andrea Fontana" <nospam example.com> Apr 11 2012
- "Andrea Fontana" <nospam example.com> Apr 11 2012
- "Stefan" <stefan schuerger.com> Apr 11 2012
- "Andrea Fontana" <nospam example.com> Apr 12 2012
How can I redirect stdout / stderr to file (from D not shell)?
Apr 11 2012
On Wednesday, 11 April 2012 at 12:46:30 UTC, Andrea Fontana wrote:How can I redirect stdout / stderr to file (from D not shell)?
Self-reply: It works using std.c way: import std.cstream; std.c.stdio.freopen(args[4].ptr, "w+", dout.file); std.c.stdio.freopen(args[4].ptr, "w+", derr.file);
Apr 11 2012
On Wednesday, 11 April 2012 at 13:00:45 UTC, Andrea Fontana wrote:On Wednesday, 11 April 2012 at 12:46:30 UTC, Andrea Fontana wrote:How can I redirect stdout / stderr to file (from D not shell)?
Self-reply: It works using std.c way: import std.cstream; std.c.stdio.freopen(args[4].ptr, "w+", dout.file); std.c.stdio.freopen(args[4].ptr, "w+", derr.file);
Careful: D strings are not zero-terminated. args[4].toStringz() is the safer choice. Cheers, Stefan
Apr 11 2012
On Wednesday, 11 April 2012 at 15:25:56 UTC, Stefan wrote:On Wednesday, 11 April 2012 at 13:00:45 UTC, Andrea Fontana wrote:On Wednesday, 11 April 2012 at 12:46:30 UTC, Andrea Fontana wrote:How can I redirect stdout / stderr to file (from D not shell)?
Self-reply: It works using std.c way: import std.cstream; std.c.stdio.freopen(args[4].ptr, "w+", dout.file); std.c.stdio.freopen(args[4].ptr, "w+", derr.file);
Careful: D strings are not zero-terminated. args[4].toStringz() is the safer choice. Cheers, Stefan
Good point Stefan!
Apr 12 2012









"Andrea Fontana" <nospam example.com> 