1.開啟檔案的函式open,第乙個引數表示檔案路徑名,第二個為開啟標記,第三個為檔案許可權
效果測試:列印開啟檔案返回的描述符為3,同時建立了檔案testopen1
2.建立檔案函式creat和關閉函式close
使用**
#include #include#include #includeint main(int argc,char *ar**)
fd = creat(ar**[1],0777);
printf("fd = %d\n",fd);
close(fd);
return 0;
}
測試結果:
3.寫檔案函式write,第乙個引數表示要寫入的檔案的描述符,第二個引數表示要寫入的內容的記憶體首位址,第三個引數表示要寫入內容的位元組數;
寫入成功返回寫入的位元組數,失敗返回-1
測試**:
#include #include #include #include#include #include#includeint main(int argc,char *ar**)
fd = open(ar**[1],o_creat | o_rdwr,0777);
if(fd == -1)
char *con = "hello world!";
int num = write(fd,con,strlen(con));
printf("write %d byte to %s",num,ar**[1]);
close(fd);
return 0;
}
結果:hello world!寫入hello檔案成功
檢視當前系統最大開啟檔案個數
4.讀取檔案read,第乙個引數是檔案描述符,第二個引數是儲存讀取檔案內容的記憶體首位址,第三個引數是一次讀取的位元組數
測試**,完成檔案複製
#include #include #include #include#include #include#includeint main(int argc,char *ar**)
fd_src = open(ar**[1],o_rdonly);
fd_des = open(ar**[2],o_creat | o_wronly | o_trunc,0777);
if(fd_src != -1 && fd_des != -1)
close(fd_src);
close(fd_des);
}return 0;
}
效果檢視,可見實現了檔案open.c的拷貝
linux系統程式設計之檔案I O
一 檔案描述符 linux系統中,所有開啟的檔案都對應乙個數字,這個數字由系統來分配,稱為檔案描述符。pcb程序控制塊裡有檔案描述符表,以陣列形式存放於核心區。乙個程序預設開啟3個檔案描述符 stdin fileno 0 stdout fileno 1 stderr fileno 2 新開啟檔案返回...
linux系統程式設計之檔案IO(一)
在linux中,一切皆檔案,想對檔案內容進行操作,除了有操作許可權外,更重要的一點是要開啟檔案。以下只有乾貨 1 系統呼叫 include include include int open const char name,int flags int open const char name,int ...
Linux系統程式設計之檔案程式設計
目錄 一 檔案程式設計 1 linux檔案 2 檔案描述符 file descriptor 3 常用api open write read lseek close 1 open 開啟檔案函式 2 close 關閉檔案 3 write 寫檔案 4 read 讀檔案 5 lseek 游標定位 linux...