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