如何检查C ++是否将std :: cout重定向到文件?

时间:2011-09-25 21:56:36

标签: c++ terminal redirect iostream cout

我需要我的程序表现不同,具体取决于输出是终端还是文件。如何在C ++中找到它?

我认为没有适用于所有操作系统的解决方案。为了我的目的,最好有一个在Windows下工作的策略和一个在linux / unix下工作的策略。

提前致谢。

2 个答案:

答案 0 :(得分:4)

这将有助于linux:How to tell if running in a linux console versus an ssh session?

是的,它是一个C调用,但它绝对可以从C ++中调用。

GetStdHandle在windows下提供了类似的起点:

答案 1 :(得分:0)

我不确定在Linux中是否可行(但我可能是非常错误的)。 如果你想控制你自己的代码,我会使用像google's glog

这样的日志框架