我用MinGW构建了一个win32可执行文件,从控制台正确运行它可以调用Wine,并输出正常的文本。
但是,如果我用“exec”函数以编程方式加载该可执行文件,则子进程输出的每个字符前面都有一个ansi转义序列(S变为[?25lS
)。
这是wine的一个功能吗?我可以禁用它吗?这是我链接到的windows库的一个功能吗?是MinGW导致的吗?
我试过改变语言环境cout.imbue( locale("C") )
,用printf代替cout,在子进程中调用system("chcp 1252");
,以及其他一些技巧,但似乎没有什么能修复子进程的输出。
1条答案
按热度按时间xfb7svmp1#
这似乎是Eclipse旧版本中控制台的问题,而不是一般/编程问题,开发和调试的解决方案是升级Eclipse或使用不同的IDE。
哎呀!