檔案呼叫函式

2021-09-11 22:19:01 字數 1319 閱讀 5445

fopen fread fwrite fclose fseek fgets fputs fgetc fputc

open read write close lseek

file *fopen(const char *filename,const char *flag);

int open(const char *filename,int flag,int mode);

mode 指新建檔案的許可權

返回值成功》=0,失敗=-1

filag

o_rdonly

以唯讀方式開啟檔案

o_wronly

以只寫方式開啟檔案

o_rdwr

以讀寫方式開啟檔案

o_creat

如果指定檔案不存在,則建立這個檔案

每次寫操作都寫入檔案的末尾

o_trunc

如果檔案存在,並且以只寫/讀寫方式開啟,則清空檔案全部內容

int fread(void *buff,int size,int count,file *fp);

int read(int fd,void *buff,int len)

返回值成功返回實際讀取的位元組長度,失敗=-1

len 指一次性最多讀取的位元組長度,一般都是buff大小

int fwrite(void *buff,int size,int count,file *fp);

int write(int fd,void *buff,int len);

len一般指buff中實際資料長度

成功:實際寫入的位元組長度,失敗=-1

fseek(file *fp,int size,int pos);

lseek(int fd,int size,int pos);

posseek_set

當前位置為檔案的開頭,新位置為偏移量的大小

seek_cur

當前位置為檔案指標的位置,新位置為當前位置加上偏移量

seek_end

當前位置為檔案的結尾,新位置為檔案的大小加上偏移量的大小

fclose(filfe *fp);

close(int fd);

在核心空間上執行,有作業系統最高許可權

在使用者空間上執行,有作業系統的最低許可權

系統呼叫函式:在使用者態呼叫,核心態實現

觸發 0x80 中斷,每個中斷號都有中斷處理程式(核心中)

儲存程式上下文

將系統呼叫號儲存到 eax 暫存器

進入核心態之後,核心開始執行中斷處理程式,在系統呼叫表中查詢系統呼叫號對應的核心函式並呼叫,執行完成之後又將返回值通過 eax 暫存器傳遞歸使用者空間。

lua檔案函式呼叫

lua指令碼是面向過程的語言,一般檔案結構 data.lua local idata 0 local arrdata local表示區域性變數或函式 只要沒有local宣告就是全域性的 iopen是全域性變數 optdata是私有函式 local function optdata iopen 10 ...

shell從函式檔案裡呼叫函式

碰到乙個shell中函式呼叫的小問題,記錄一下。shell中函式有三種呼叫方式,一種是在檔案前面定義函式,然後在以下直接呼叫 一種是通重載入shell,在shell中直接呼叫 第三種是將函式寫入檔案。然後在其它shell中呼叫函式。這裡寫一下關於第三種方法的樣例 is it a directory ...

QT呼叫python檔案(呼叫函式傳參)

pro檔案中 includepath i e miniconda3 include libs le miniconda3 libs lpython37 include define slots q slots include int main int argc,char ar 設定python檔案路...