1 程序可以檢測它的標準輸入是來自鍵盤輸入的 而不是 從文件重定向?在c?Stdin來自鍵盤或來自文件 來源 2012-05-22 user1410996 +0 的可能重複的[檢測如果標準輸入是在C/C++/Qt的一個端子或管?](http://stackoverflow.com/questions/1312922/detect-if-stdin-is-a-terminal-or-管中CC-qt)的 – geoffspear
7 是,在大多數系統上。在POSIX系統(在Linux,Mac OS X,BSD,加上更多),你可以使用文件描述符0(標準輸入)isatty(3)功能。在Windows上,您可以使用_isatty。例如: if(isatty(0)) { // standard input is a terminal device } 注意,許多程序使用isatty以改變它們的輸出緩衝行爲:如果標準輸出是終端,輸出緩衝(例如,每換行獲取打印後它的沖洗)線,而如果標準輸出是不是一個終端,它的全緩衝(例如它的沖洗僅當緩衝器變滿時,處理正常退出,或流被明確地被應用程序刷新)。 來源 2012-05-22 18:57:15
的可能重複的[檢測如果標準輸入是在C/C++/Qt的一個端子或管?](http://stackoverflow.com/questions/1312922/detect-if-stdin-is-a-terminal-or-管中CC-qt)的 – geoffspear