Linux C 檔案管理2
Linux檔案管理
系統呼叫(API):作業系統提供給使用者的一組特殊介面,使用者可用API來獲得作業系統的服務。
系通呼叫 核心
程式執行空間 核心空間
使用者空間
linux一點哲學:一切皆檔案
linux檔案:普通檔案、目錄檔案、連結檔案、裝置檔案
檔案:系統資源的一個抽象,對系統資源進行訪問的一個通用介面
用檔案的好處:簡化系統程式設計介面的設計
檔案描述符(fb) 1.非負整數
2.可表示各種型別開啟的檔案
3.使用可指定所操作的檔案
使用fb先會產生三個檔案 標準輸入 0 鍵盤
標準輸出 1 顯示器 有緩衝
標準錯誤 2 顯示器 無緩衝
用檔案時要呼叫三個標頭檔案 #include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
開啟open
int open ( const char * pathname , int flags , mode_t mode);
例:int fb; fb = opne (“ a.txt “, O_CREAT | O_RDWR ,0755
要開啟或建立的檔案的名字 建立時許可權
開啟許可權:
O_CREAT 開啟的檔案若不存在就建立
O_RDONLY 只讀
O_WRONLY 只寫
O_RDWR 可讀寫
系統呼叫—讀 int read( int fd ,const void *buf ,size_t length)
從檔案中讀到緩衝區,返回讀入的個數
系統呼叫—寫 int write( int fd ,const void *buf ,size_t length)
把緩衝區的寫入檔案,返回寫的個數
系統呼叫—定位 int lseek(int fd, 偏移量, 起始位置)
例:int (int fd , 0 ,SEEK_SET)
SEEK_SET 開頭
SEEK_CUR 當前
SEEK_END 尾
close(fd) 關閉檔案
庫函式:標準I/O函式實際上是對底層系統的封裝
不用檔案描述符,使用檔案指標 指向FILE型
FILE * fp
每個程式啟動後開啟三個流
stdin
stdout
stderr
庫函式—開啟:FILE * fopen(const char * filename, const char *mode)
檔名 開啟模式
“r” 只讀,檔案必須已存在
“w” 只寫,檔案不存在則建立,存在則清空再寫入
“a” 在檔案末尾追加資料
“r+”允許讀和寫,檔案必須已存在
“w+”允許讀和寫,不存在則建立,存在則清空再寫入
“a+” 允許讀和追加資料,檔案不存在則建立
檔案的作用僅僅是儲存
庫函式—寫和讀
fwrite ( void * buf,size ,int n , FILE * stream)
fread ( void * buf,size ,int n , FILE * stream)
庫函式—定位
fseek(fp ,偏移量 ,起始位置)
操作字元
fgetc、fputc、fprintf、fscanf: 操作流級的
例子: ch = fgetc( stdin );
fputc( ch , stout);
fprintf(stout ,”input a string:\n”);
fscanf(stdin,” %s” ,buf_r);
puts(char *) gets(char * )
fputs(char * ,FILE *) fgets(char *,size ,FILE *)
fputs、fgets 操作字串
printf 格式儲存
相關文章
- Linux檔案與目錄管理(2)Linux
- 2、檔案管理
- 檔案管理[Linux]Linux
- Linux檔案管理Linux
- Linux C 檔案IOLinux
- Linux之檔案管理(一)Linux
- Linux — 檔案、目錄管理Linux
- Linux檔案系統-目錄和檔案管理Linux
- Linux檔案及目錄管理Linux
- Linux檔案管理相關命令Linux
- Linux指令入門-檔案管理Linux
- Linux QtFM 檔案管理器LinuxQT
- linux 檔案許可權管理Linux
- Linux 檔案與目錄管理Linux
- Linux基礎之檔案管理Linux
- Linux檔案和目錄管理Linux
- 【Linux】Linux檔案系統管理7 磁碟配額管理Linux
- day58:Linux:BashShell&linux檔案管理&linux檔案下載上傳Linux
- ext2檔案系統super.c原始碼分析(Linux 2.6.24)原始碼Linux
- Linux-vscode-c++-slambook2-庫檔案找不到路徑LinuxVSCodeC++SLAM
- linux檔案與目錄管理命令Linux
- Linux的檔案許可權管理Linux
- Linux 檔案與目錄管理(轉)Linux
- Linux檔案許可權管理命令Linux
- linux C 的檔案程式設計Linux程式設計
- 【Linux】Linux檔案系統管理4 swap交換分割槽管理Linux
- Linux EXT2 檔案系統Linux
- 【Linux】Linux檔案系統管理5 lvm邏輯卷管理LinuxLVM
- 基於檔案管理的學生資訊管理系統(C語言/C++)C語言C++
- Linux 檔案許可權管理的方法Linux
- Linux檔案管理知識:文字處理Linux
- Linux 基礎-檔案及目錄管理Linux
- Linux系統學習之檔案管理Linux
- 【Solaris】Solaris檔案系統管理2 SWAP交換分割槽管理
- 『學了就忘』Linux檔案系統管理 — 57、Linux檔案系統介紹Linux
- 系列教程--Linux基礎--05--Linux 檔案管理Linux
- C++中的檔案輸入/輸出(2):讀取檔案 (轉)C++
- 檔案管理