最近在在實驗樓上學linux,做點筆記。上面的課程對於學習linux還不錯,有興趣可以看看。
檔案io:
linux提供給了使用者程式一些介面,用來呼叫執行相關的功能。大多數linux檔案i\o只需要用到5個函式:open,read,write,lseek和close
檔案描述符:
檔案描述符是乙個非負整數。當開啟乙個現存盤案或建立乙個新檔案時,核心向程序返回乙個檔案描述符。當寫乙個檔案時,用open或create返回的檔案描述符標識該檔案,將其作為引數傳送給read或write。
整數0、1、2被代換成符號常數:
stdin_fileno(標準輸入,預設是鍵盤)
stdout_fileno(標準輸出,預設是螢幕)
stderr_fileno(標準錯誤輸出,預設是螢幕)
#include #include #include #include #include int main()
else
return 0;
}
2. read
需要包含的標頭檔案:
函式原型:
ssize_t read(int fd, void *bf, size_t count)
功能:
從開啟的檔案中讀取資料。
返回值:
實際讀到的位元組數;如果讀到了檔案尾,返回0,出錯的話返回-1;ssize_t是系統標頭檔案中用typedef定義的資料型別,相當於signed int。
引數:
fd:要讀取的檔案的描述符
buf:得到的資料在記憶體中的位置的首位址
count:期望本次能讀取到的最大位元組數
3. write
需要包含的標頭檔案:
函式原型:
ssize_t write(int fd, const void *buf, size_t count)
功能:向開啟的檔案寫資料
返回值:寫入成功後返回寫入的位元組數,出錯返回-1
引數:
fd:要寫入的檔案的描述符
buf:要寫入檔案的資料在記憶體中存放位置的首位址
count:期望寫入的資料的最大位元組數
#include #include #include int main()
else
return 0;
}
close
需要包含的標頭檔案:
unistd.h
函式原型:
int close(int filedes)
功能:
關閉乙個開啟的檔案
引數:
需要關閉的檔案描述符
lseek
需要包含的標頭檔案:
函式原型:
off_t lseek(int filesdes, off_t offset, int whence)
功能:
設定檔案記憶體讀寫位置
返回值:
成功的話返回新的檔案位移,出錯返回-1
off_t是系統標頭檔案定義的資料型別,相當於signed int
引數:
filesdes:要寫入的檔案的描述符
whence是seek_set, 那麼該檔案的位移量設定為據檔案開始處offset個位元組
whence是seek_cur, 那麼該檔案的位移量設定為當前值加offset。offset可為正或負
whence是seek_end, 那麼該檔案的位移量設定為檔案長度加offset。offset可為正或負
linux系統程式設計之檔案IO(一)
在linux中,一切皆檔案,想對檔案內容進行操作,除了有操作許可權外,更重要的一點是要開啟檔案。以下只有乾貨 1 系統呼叫 include include include int open const char name,int flags int open const char name,int ...
linux系統程式設計之檔案I O
一 檔案描述符 linux系統中,所有開啟的檔案都對應乙個數字,這個數字由系統來分配,稱為檔案描述符。pcb程序控制塊裡有檔案描述符表,以陣列形式存放於核心區。乙個程序預設開啟3個檔案描述符 stdin fileno 0 stdout fileno 1 stderr fileno 2 新開啟檔案返回...
Linux系統程式設計 檔案IO操作
檔案描述符 在 linux 的世界裡,一切裝置皆檔案。我們可以系統呼叫中 i o 的函式 i input,輸入 o output,輸出 對檔案進行相應的操作 open close write read 等 開啟現存盤案或新建檔案時,系統 核心 會返回乙個檔案描述符,檔案描述符用來指定已開啟的檔案。這...