On 09/08/2011 07:26 PM, Justin Whear wrote:
The Posix solution is to use pipes. Basically, you'll want the parent
process to set up a pipe for stderr, fork, then the child process uses the
write end of the stderr while the parent reads from the other end. Not sure
what the Windoze solution is.
Alternatively, the cheap and easy way is to use redirects:
system("dmd bla.d 2>error.log");
If an error is thrown, read from error.log.
I think the easiest way on a posix system is this:
auto res=shell("dmd bla.d 2>&1");
I haven't tested it tough. What it should do is redirect dmd's stderr to
stdout, which can then be read.