c++ 为什么执行wine程序会在stdout中产生ansi转义序列?

qmb5sa22  于 2023-02-26  发布在  其他
关注(0)|答案(1)|浏览(136)

我用MinGW构建了一个win32可执行文件,从控制台正确运行它可以调用Wine,并输出正常的文本。
但是,如果我用“exec”函数以编程方式加载该可执行文件,则子进程输出的每个字符前面都有一个ansi转义序列(S变为[?25lS)。
这是wine的一个功能吗?我可以禁用它吗?这是我链接到的windows库的一个功能吗?是MinGW导致的吗?
我试过改变语言环境cout.imbue( locale("C") ),用printf代替cout,在子进程中调用system("chcp 1252");,以及其他一些技巧,但似乎没有什么能修复子进程的输出。

xfb7svmp

xfb7svmp1#

这似乎是Eclipse旧版本中控制台的问题,而不是一般/编程问题,开发和调试的解决方案是升级Eclipse或使用不同的IDE。
哎呀!

相关问题