linux C 的檔案程式設計
檔案程式設計
系統呼叫是指作業系統提供給使用者的一組“特殊”介面,使用者程式可以通過這組“特殊”的介面來提供作業系統核心提供的服務。
最外層:application
其次層:shell、library routines
其次層:system call
最內層:kernel
Linux 檔案可分為:
1)普通檔案。
2)目錄檔案
3)連結檔案。
4)裝置檔案。
檔案描述符(fd): 1) 非負整數(從0開始)
2)表示各種型別檔案。
一個程式的啟動:開啟三個檔案
1)標準輸入(鍵盤)
2)標準輸出(螢幕)
3)標準錯誤(螢幕、不走緩衝區)
系統呼叫檔案——開啟
Int open(const char * pathname, int flag, mode_t mode)
Pathname: 開啟或建立檔案。
Flags: 證明此函式 O_CREAT | O_RDWR.
Mode: 建立許可權 0755
如: fd = open( “a.txt” O_CREAT | O_RDWR, 0755)
0755 分三組: 7:使用者, 5:同組成員 5:其他成員
——檔案關閉
Close(fd)
——檔案讀取:
Int read(int fd, const void * buf, size_t length)
功能:從檔案描述符(fd)所指定的檔案讀length位元組到buf的緩衝區。
——檔案的寫入:
功能:從檔案描述符(fd)所選定的緩衝區寫到檔案描述符(fd)所指定的檔案。
——定位:
Int lseek(檔案指標, 位偏移, 起始點)
SEEK_SET:檔案開頭
SEEK_CUR:當前位置
SEEK_END:檔案結尾
庫函式
C庫函式的檔案是獨立於具體的操作平臺。
1)標準的I/O函式並不直接操作檔案描述符,而是使用指標來 操作。
2)標準的I/O函式中,一個開啟的檔案稱為流,流可以用於讀(輸入流),寫(輸出流)或讀寫(輸入輸出流)
每個程式啟動時,都會開啟三個流:
0)標準輸入流(stdin); 1 )標準輸出流(stdout)
2)標準錯誤流(stderr)
庫函式的——建立和開啟
FILE *fopen(char*filename, char * mode)
Filename: 開啟檔名(包含路徑,預設為當前路徑)
Mode: 開啟模式 指定檔案的開啟方式(是讀、寫、?)
庫函式——寫
Fwrite(void * buf, size, n, FILE * stream)
功能:從緩衝區buf所指陣列中把n個欄位寫到stream指向的檔案中,每個欄位長為size位元組,返回實際讀取的欄位數。
檔案只儲存、不搜尋、不處理
相關文章
- Linux系統程式設計-檔案IOLinux程式設計
- Linux系統程式設計之檔案IOLinux程式設計
- Linux系統程式設計【4】——檔案系統Linux程式設計
- 檔案程式設計、檔案下載程式設計
- Linux C 檔案IOLinux
- Linux C/C++程式設計中的多執行緒程式設計基本概念LinuxC++程式設計執行緒
- 高質量C/C++程式設計指南總結(二)—— 檔案版式C++程式設計
- C# 鏈式程式設計實踐之檔案校驗C#程式設計
- Rust 程式設計,讀取檔案Rust程式設計
- Linux系統程式設計(七)檔案許可權系統呼叫Linux程式設計
- 【shell程式設計】目錄檔案計數程式設計
- 檔案屬性-3.2.linux應用程式設計和網路程式設計第2部分Linux程式設計
- Linux C++ 多執行緒程式設計LinuxC++執行緒程式設計
- Linux檔案的顏色程式碼Linux
- keil4程式設計軟體如何開啟C語言生成的DLL檔案程式設計C語言
- 如何在 C# 中以程式設計的方式將 CSV 轉為 Excel XLSX 檔案C#程式設計Excel
- 不好的程式設計習慣之檔案下載程式設計
- 程式設計師是怎麼存檔並管理檔案版本的?程式設計師
- 程式設計競賽中讀檔案技能程式設計
- [python網路程式設計]檔案上傳Python程式設計
- 實驗7 檔案應用程式設計程式設計
- 程式設計讀寫CAD檔案驗證程式設計
- 最簡單的C程式設計--順序程式設計C程式程式設計
- [linux] fuser程式顯示檔案Linux
- Linux Socket C語言網路程式設計:TCP SocketLinuxC語言程式設計TCP
- Linux Socket C語言網路程式設計:UDP SocketLinuxC語言程式設計UDP
- Linux Socket C語言網路程式設計:Select SocketLinuxC語言程式設計
- C檔案與檔案的操作
- 實驗7_檔案應用程式設計程式設計
- (整合)Linux下的多程式程式設計Linux程式設計
- objective-C 的程式碼檔案組織Object
- linux統計檔案個數及程式碼總行數Linux
- C程式設計題C程式程式設計
- c#程式設計C#程式設計
- 【Linux】 Linux網路程式設計Linux程式設計
- Linux jpeg程式設計Linux程式設計
- Linux Bash程式設計Linux程式設計
- Scratch少兒程式設計加盟,少兒程式設計課程和教學檔案程式設計
- Windows 程式設計簡介從C/C++到Windows程式設計Windows程式設計C++