我正在尝试用C编写与Windows watch command-line tool等效的Windows。
为了简化子进程并获取其输出,我使用this article中描述的方法。
这对我来说很好,但是现在输出没有颜色。例如,常规git status
将使用绿色和红色来指示已进行的更改和未进行的更改。但是,当以watch git status
运行时,它都是白色文本。
我知道我可以通过不重定向输出来避免此问题。但是,这不是一个选择,因为我希望它能够在程序中缓冲它并有可能对其进行操作,然后再清除控制台并显示它。
是否有可能从子进程中捕获颜色信息,所以我可以将其复制到自己的输出中-如果可以,如何复制?