檔案讀寫和重定向

2021-10-01 05:39:19 字數 1170 閱讀 8607

#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和...