系統呼叫-建立:
一、int creat(const char * filename, mode_t mode)
filename:要建立的檔名(包含路徑,預設為當前路徑)
mode:建立模式
常見建立模式:
s_irusr 可讀 4
s_iwusr 可寫 2
s_ixusr 可執行 1
s_irwxu 可讀、寫、執行 7
無任何許可權 0
建立檔案**:
#include #include #include #include #include void create_file(char * filename) else
}int main(int argc, char * argv)
for(i = 1; i < argc; i++)
exit(exit_success);
}
二、系統呼叫-開啟
int open(const char * pathname, int flags)
int open(const char * pathname, int flags, mode_t mode)
pathname:要開啟的檔名(包含路徑,預設為當前路徑)
flag:開啟標誌
常見的開啟標誌:
o_rdonly 唯讀方式開啟
o_wronly 只寫方式開啟
o_rdwr 讀寫方式開啟
o_creat 建立乙個檔案(當開啟乙個檔案時,沒有會建立)
o_noblock 非阻塞方式開啟
如果是用o_creat就用三個引數的,其他的用倆兩個引數
三、檔案的關閉
int close(int fd)
四、系統呼叫-讀
int read(int fd, const void * buf, size_t length)
引數:fd:所指定的檔案中讀取
length:把這麼多的位元組讀到buf所指向的緩衝區
返回值為實際讀取的位元組數
五、系統呼叫-寫
int write(int fd, const void * buf, size_t length)
功能:把length個位元組從buf指向的緩衝區中寫到檔案描述符fd所指向的檔案中,返回值為實際寫入的位元組數
六、系統呼叫-定位
int lseek(int fd, offset_t offset, int whence)
whence可使用一下值
seek_set:相對檔案開頭
seek_cur:相對檔案讀寫指標的當前位置
seek_end:相對檔案末尾
offset可取負值,表示向前移動
怎麼計算檔案長度?
七、系統呼叫-訪問判斷
int access(const char * pathname, int mode)
pathname:檔名稱
mode:要判斷的訪問許可權
返回值:當我們測試成功時,函式返回0,否則如果乙個條件不符時,返回-1
系統呼叫方式訪問檔案
linux 系統中訪問檔案的方法 1.linux 系統呼叫 2.基於 c語言的訪問 系統呼叫 建立 int creat const char filename,mode t mode filename 要建立的檔名 包含路徑,預設為當前路徑 mode 建立模式 常見建立模式 s irusr 可讀 s...
系統呼叫的方式訪問檔案
1 建立檔案 int create const char filename mode t mode 建立檔案。filename為檔案路徑,mode為檔案許可權,如 s irusr 可讀 s irwxu 可讀 可寫 可執行。也可以用數字表示,如 0755。2 檔案描述 在linux中,所有開啟的檔案都...
Linux下系統呼叫訪問檔案
linux 的檔案操作有兩種方式 linux系統呼叫方式,這種方式依賴於linux系統 c語言的檔案操作,採用c語言的庫函式實現。以下是linux系統呼叫方式 1.建立檔案 intcreat const char filename,mode t mode filename 要建立的檔名,包含路徑,預...