C語言中的標準輸入/標準輸出/輸入重定向

C語言中標準輸入流、標準輸出流、標準錯誤輸出流
在Linux中,所有對設備和文件的操作都使用文件描述符來進行。
Linux中一個進程啓動時,都會打開3個文件:標準輸入、標準輸出和標準出錯處理。這三個文件
分別對應文件描述符0、1、2。
在C語言中,在程序開始運行時,系統自動打開3個標準文件:標準輸入、 標準輸出、標準出錯
輸出。通常這3個文件都與終端相聯繫。因此,以前我們所用到的從終端輸入或輸出都不需要打開
終端文件。系統自定義了3個文件指針stdin、stdout、stderr,分別指向終端輸入、終端輸出和標準
出錯輸出(也從終端輸出)。
標準輸入流:stdin
標準輸出流:stdout
標準錯誤輸出流:stderr

若在終端使用如:
     ls /bin | more
這類輸入重定向,則會導致定向到的程序(此處爲more)中的getchar函數等從標準輸入讀取數據的函數出錯,因爲通常情況下標準輸入是鍵盤

若要指定從鍵盤讀取,可
FILE *fp_tty;

fp_tty = fopen("/dev/tty", "r");
...
getc(fp_tty);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章