On Wednesday, 23 July 2014 at 15:12:13 UTC, John Colvin wrote:
On Wednesday, 23 July 2014 at 14:53:35 UTC, Chris wrote:
Short question: how can I grab the stdout written to by C(++),
i.e.
C code:
fwrite(...);
std.cstream will be replaced sooner or later.
I don't think I understand the question. stdout is the same
file handle, doesn't matter whether that's using c++'s cout,
c's stdout in stdio.h or D's std.stdio.stdout
writeln("hello world");
is just short for
stdout.writeln("hello world");
also, if you want c io functions, import core.stdc.stdio;
If you're wanting to grab the output from another process, take
a look at std.process
It's a small library written in C++. I can either load it
dynamically or incorporate it into my program. Either way, when
the C++ part does its job, I can see the correct output in the
console window, but I cannot grab it. After analyzing the C++
code, it seems that it uses fwrite and writes to stdout.
When I grab stdout I only get the output from the D part, not
from the C++ part.