在linux系統中一切皆檔案,在linux系統中一共有7種檔案型別:1.普通檔案 2.目錄檔案 3.字元裝置檔案 4.塊裝置檔案 5.鏈結檔案 6.管道檔案 7.套接字檔案
開啟/建立乙個檔案
int open(const char *pathname,int flags);
int open(const char *pathname,int flags,mode_t mode);
fd=open();
fd為返回值 是檔案描述符 即file descriptor 是乙個非負整數。
pathname :檔案路徑
mode:新檔案的訪問許可權,只有在o_creat 時才有意義
檔案描述符的分配規則:最小未被占用的
fd一般等於3
0:stdin 標準輸入
1: stdout 標準輸出
2: stderr 標準錯誤
檔案建立掩碼 umask();
#include
#include
#include
#include
#include
#include
#include
int main(int argc,char **argv)
int fd;
fd=open(argv[1],o_wronly|o_creat|o_trunc,0777);
if(fd<0)
perror("open()");
return -1;
printf("fd=%d\n",fd);
char *p="hello world";
write(fd,p,strlen(p));
close(fd);
return 0;
Linux系統程式設計 1
1.open與fopen,write與fwrite等等的區別 1 乙個是系統呼叫,乙個是c庫函式 2 前者依賴於linux平台,後者只要有c庫就可以使用。3 前者直接軟中斷到核心態執行,i o操作頻繁,效率不高,後者在程序結束後將虛擬記憶體中的快取通過一次性的i o讀寫儲存到硬碟,效率高。2.檔案建...
Linux系統程式設計(1)
馮諾依曼體系結構 cpu 核心 儲存器 記憶體 外存 輸入裝置 輸出裝置 注 記憶體記憶體小,速度快,成本高,斷電之後丟失資料 外存記憶體大,速度慢,成本低,斷電之後不掉資料。cpu也是能夠儲存少量的資料的,上面存資料的元件 暫存器 訪問速度特別快。馮諾依曼 計算機祖師爺之一 作業系統 os 乙個管...
Linux 系統程式設計
1 i o操作 2 檔案和目錄管理 3 記憶體管理 1 建立匿名記憶體對映 2 對映 dev zero檔案 類unix 作業系統中,dev zero是乙個特殊的檔案,當你讀它的時候,它會提供無限的空字元 null,ascii nul,0x00 其中的乙個典型用法是用它提供的字元流來覆蓋資訊,另乙個常...