#include
#include
#include
#include
#include
intmain
(int argc,
char
*ar**)
結果分析
fd1,fd2,fd3開啟三次abcde.txt檔案;
dup2(fd2,fd3)fd2覆蓋掉fd3;
3個read讀fd1,fd2,fd3的乙個字元,記為c1,c2,c3;
c1讀的是fd1的第乙個字元a;
c2讀的是fd2的第乙個字元a;
c3讀fd3已被fd2覆蓋所以讀的是fd2的第二個字元b;
列印後用close關掉三個檔案,釋放檔案描述符。
結果分析
s獲得程序號
open開啟乙個檔案fd1
read讀fd1的乙個字元,記為c1,此時讀到的是第乙個字元a
父子程序共享空間讀c2,父程序讀到的是fd1的第二個字元b
子程序讀到的是順延下來的第三個字元c
結果分析
檔案讀寫重定向freopen函式
函式原型 file freopen const char filename,const char mode,file file 其中file 是檔案指標,參考 c檔案 mode是操作型別,最常用的就是 r 和 w 表示讀寫。file是需要重定向到的檔案指標 示例 include include us...
檔案重定向
1.重定向標準輸出 不使用系統標準輸出的預設裝置,將輸出結果直接寫在乙個新的檔案中。command file 把標準輸出重定向到file檔案中 command file 把標準輸出重定向到file檔案中 追加在現有內容的後面 command 1 file 把標準輸出重定向到file中 myfile建...
檔案重定向
i j 和 i j 的效果都是把j的指向複製給i。echo hero hero.txt 2 1 這句的意思是,無論是標準輸出還是標準錯誤輸出都會被重定向到hero.txt中,具體過程 1的指向由con轉為 hero.txt,2 1 是把1的指向複製給2,此時2的指向也變為了hero.txt,因此1和...