使用標準輸入流,標準輸出流和標準錯誤流,這些標準流都被預分配給鍵盤和顯示器。在需要的時候,
可以使用重定向臨時改變這些預設分配。重定向是這樣一種過程,我們借助它指定乙個用於替代某個
標準檔案的檔案。
輸入重定向
可以將標準輸入從鍵盤重定向到任何文字檔案。輸入重定向運算子為小於號(<),意味著該命令從此給
派的檔案得到它的輸入。
輸出重定向
將命令輸出複製給檔案而不是顯示器上顯示。輸出重定運算子為大小於號(>),當輸出重定向至乙個不
存在的檔案,系統會建立它並且寫入輸出,如果該檔案已存在,想要將輸出追加至該檔案,可以使用兩
個大於號(>>)。
程式中的重定向
#include
#include
int main()
程式檔案為a.c
編譯gcc a.c
執行a,此時輸入輸出為鍵盤與顯示器。
檔案in.txt內容為
12執行aout.txt
cat out.txt
12輸入輸出重定向,從in.txt讀,輸出至out.txt。
使用函式file *freopen( const char *path, const char *mode, file *stream );
返回值為乙個檔案的指標,
path為檔案路徑,
mode為檔案開啟方式,常用為"w":寫入檔案,"r":讀取檔案,
stream為乙個檔案,通常我們設為標準流檔案,如stdin,stdout,stderr
freopen將標準流檔案重定向到指定路徑檔案中。
#include
#include
int main()
freopen("in.txt","r",stdin),使輸入重定向,從in.txt中讀
freopen("data.txt","w",stdout),輸出重定向到data.txt
freopen("con","w",stdout),輸出至控制台命令列。(con表示命令行)
輸入輸出重定向
1.標準輸入的控制 語法 命令 檔案將檔案做為命令的輸入。例如 mail s mail test wesongzhou hotmail.com file1 將檔案file1 當做信件的內容,主 題名稱為mail test,送給收信人。2.標準輸出的控制 語法 命令 檔案將命令的執行結果送至指定的檔案...
輸入輸出重定向
想象一下,當我們寫了個程式,開始是在命令列下執行的程式,後來用mfc之類的改寫為窗體程式,原先用printf輸出的trace都不可見了,但是我們又需要 輸出到檔案分析 怎麼辦?1 開始寫的時候你定義乙個mytrace的巨集 2 你可以把printf換成fprintf 3 使用輸出重定向。第一種情況很...
輸入輸出重定向
有時候,從檔案接受輸入或將結果送到檔案中去是很有用的。在這種情況下,在編寫命令時,增加檔名作為附加的或可選的引數是能做到的,一些命令也是這樣做的。但是,如果每條命令都要增加這些並不常用的功能,將會必要的增加命令的執行檔案的長度。為了避免這樣做。linux和shell一起提供了重新定向的功能。1 在必...