I've built a win32 executable with MinGW. Running it from the console correctly invokes Wine, and outputs normal text.
However, if I load that executable programmatically with "exec" functions, every character output by the child-process is prefaced by an ansi escape sequence (S becomes [?25lS
). I think this means that the forwarded stdout is double escaped?
Is this a function of wine? Is this something I can disable? Is this a feature of the windows libraries I'm linking to? Does MinGW cause this?
I've tried changing the locale cout.imbue( locale("C") )
, using printf instead of cout, calling system("chcp 1252");
in the child-process, and a few other miscellaneous tricks. Nothing seems to fix the output from the child-process.