對檔案的操作有兩種方式:檔案描述字、流
任何執行ansi_c的系統均支援流,但不是所有系統都支援檔案描述字,一般情況下堅持使用流而不是檔案描述字
1、檔案描述字函式多數是系統呼叫(系統呼叫是作業系統提供的核心服務,當程式進行系統呼叫時會自動陷入核心態),它們提供底層基本的輸入輸出操作介面(低階輸入輸出)
2、流函式建立在檔案描述字之上,通過檔案描述字實現,給程式提供了更高一級的輸入輸出介面(標準輸入輸出)
表示流的資料型別是file(file是系統定義的資料結構)
檔案描述字的型別是int
預先定義並自動開啟的三個標準流:stdin(標準輸入)、stdout(標準輸出)、stderr(錯誤輸出)
預先定義並自動開啟的三種檔案描述字:0、1、2,分別對應stdin_fileno(標準輸入)、stdout_fileno(標準輸出)、stderr_fileno(標準錯誤輸出)
以"/"開頭的路徑名是絕對路徑名,其他路徑名稱為相對路徑名
nofile:使用者可以開啟的最大檔案數的限制
name_max:檔名的最大字元個數
linux核心模組匯出函式
乙個模組可以使用另乙個模組匯出的函式,可以通過函式export symbol func name 來匯出,匯出後的函式位於 proc kallsyms檔案中。include include module license dual bsd gpl static inthello init void s...
Linux核心模組程式設計 將 proc作為輸入
迄今為止,我們有兩中辦法從核心模組中產生輸出 我們可以登記乙個裝置驅動程式並 mknod 乙個裝置檔案,或者我們可以建立乙個 proc檔案。這可以讓核心模組告訴我們任何它可能告訴我們的事情。唯一的問題是這沒有辦法讓我們告訴它。我們將輸入傳送給核心模組的第乙個辦法將是通過寫回 proc 檔案。因為 p...
Linux 輸入與輸出函式總結
輸入輸出函式的介紹 1 所謂輸入輸出是以計算機為主體而言的。2 本章介紹的是向標準輸出裝置顯示器輸出資料的語句。3 在c語言中,所有的資料輸入 輸出都是由庫函式完成的。因此都是函式語句。4 在使用c語言庫函式時,要用預編譯命令 include將有關 標頭檔案 包括到原始檔中。使用標準輸入輸出庫函式時...