輸入輸出重定向

2021-05-11 03:47:59 字數 1014 閱讀 1088

使用標準輸入流,標準輸出流和標準錯誤流,這些標準流都被預分配給鍵盤和顯示器。在需要的時候,

可以使用重定向臨時改變這些預設分配。重定向是這樣一種過程,我們借助它指定乙個用於替代某個

標準檔案的檔案。

輸入重定向

可以將標準輸入從鍵盤重定向到任何文字檔案。輸入重定向運算子為小於號(<),意味著該命令從此給

派的檔案得到它的輸入。

輸出重定向

將命令輸出複製給檔案而不是顯示器上顯示。輸出重定運算子為大小於號(>),當輸出重定向至乙個不

存在的檔案,系統會建立它並且寫入輸出,如果該檔案已存在,想要將輸出追加至該檔案,可以使用兩

個大於號(>>)。

程式中的重定向

#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 在必...