我需要我的程序的行爲方式不同,這取決於輸出是否是一個終端或文件。我如何從C++中找到它?如何在C++中檢查std :: cout是否被重定向到文件?
我認爲是沒有解決方案,爲所有操作系統工作。爲了我的目的,最好有一種在Windows下工作的策略和一種在linux/unix下工作的策略。
在此先感謝。
我需要我的程序的行爲方式不同,這取決於輸出是否是一個終端或文件。我如何從C++中找到它?如何在C++中檢查std :: cout是否被重定向到文件?
我認爲是沒有解決方案,爲所有操作系統工作。爲了我的目的,最好有一種在Windows下工作的策略和一種在linux/unix下工作的策略。
在此先感謝。
這將在linux下幫助:How to tell if running in a linux console versus an ssh session?
是的,它是一個C通話,但它絕對可以從C++調用。
GetStdHandle給windows下類似的起點:
我不知道這是在Linux可能(但我可能是非常錯誤的)。 如果你想控制自己的代碼,我會使用一個日誌框架,如google's glog
+1這很瞭解! –