C拾遺(五)Linux檔案操作

2021-06-02 15:18:35 字數 1262 閱讀 5934

1.open/close函式

#include

#include

#include

int open(const char *pathname,int flags)

int open(const char *pathname,int flags,mode_t mode)

flags必選一項

o_rdonly

唯讀o_wronly

只寫o_rdwr

可讀可寫

flags可選一項

檔案末尾追加新內容

o_creat

不存在則建立,需指定第三個引數,表示訪問許可權

o_excl

指定o_creat但檔案存在,出錯返回

o_trunc

如存在且可寫,長度截斷為0

o_nonblock

對裝置檔案做非阻塞i/o

#include

int close(int fd) //成功返回0,出錯返回-1

2.read/write函式

#include

ssize_t read(int fd, void *buf, size_t count);

返回值:成功返回讀取的位元組數,出錯返回-1並設定errno,如果在調read之前已到達檔案末尾,則這次read返回0

#include

ssize_t write(int fd, const void *buf, size_t count);

返回值:成功返回寫入的位元組數,出錯返回-1並設定errno

注:讀寫常規檔案,是不會阻塞的,但是從裝置或者網路讀取的話會發生阻塞。

3.lseek函式

#include

#include

off_t lseek(int fd, off_t offset, int whence); //whence為  seek_set(開頭),seek_cur(當前),seek_end(結尾)

4.fcntl函式

#include

#include

int fcntl(int fd, int cmd);

int fcntl(int fd, int cmd, long arg);

int fcntl(int fd, int cmd, struct flock *lock);   

功能:修改乙個已經開啟的檔案的屬性。

Linux同步拾遺

一般情況下,執行緒在主題函式退出的時候會自動終止,但同時也可以因為接收到另乙個執行緒發來的終止請求而強制終止。執行緒取消的方法是向目標執行緒發cancel訊號,但如何處理cancel訊號則由目標執行緒自己決定,或者忽略,或者立即終止,或者繼續執行到cancelation point 取消點 由不同c...

linux 命令拾遺

這個命令會列印出八進位制 十六進製制和十進位制的ascii碼表。xxd可以生成所給與檔案的十六進製制拷貝,也可以將編輯好的十六進製制拷貝還原成二進位制格式。它也可以將十六進製制拷貝輸出成c的陣列 隨機從乙個檔案或資料夾中選擇行 檔案 資料夾 產生從某個數到另外乙個數之間的所有整數 timeout 執...

拾遺系列(五)Tips

載入原圖 uiimage image uiimage imagenamed 拉伸處理 說明需要保護的區域 image image resizableimagewithcapinsets uiedgeinsetsmake 30,30,30,30 resizingmode uiimageresizing...