函式介面
#includessize_t read(int fd, void *buf, size_t nbytes);
ssize_t write(int fd, const void *buf, size_t nbytes);
read使用:
write使用:
測試**:
#include #include #include #include //#define rw
int main()
// write
char buf[64];
snprintf(buf, sizeof(buf), "hello world.");
printf("buf:%s\n", buf);
if (write(fd, buf, strlen(buf)) != strlen(buf))
int pos = lseek(fd, 0, seek_cur);
printf("curr pos:%d\n", pos);
#ifndef rw
close(fd);
#endif
pos = lseek(fd, 0, seek_cur);
printf("curr pos:%d\n", pos);
// read
#ifndef rw
fd = open("readwrite.txt", o_rdonly |o_creat);
#endif
char rdbuf[64];
int len = sizeof(rdbuf);
while(len > 0)
; printf("read:%s\n", rdbuf);
pos = lseek(fd, 0, seek_cur);
printf("curr pos:%d\n", pos);
close(fd);
}
如果以讀寫方式開啟,讀寫共用乙個偏移量,可以對 #define rw 注釋或解注釋看看。
參考:linux c api 參考手冊
linuxapi
《unix環境高階程式設計》3.7-3.8小節
linux程式設計之檔案I O
linux下c語言對於檔案的操作,我們會經常用到fopen fclose fwrite fread fgets 等一系列庫函式,基本和是和windows下學習c語言一樣的,其實這些庫函式就是在linuxx下對系統呼叫函式的封裝,因此這裡只介紹系統函式下的檔案操作函式。一 open 開啟檔案 incl...
linux系統程式設計之檔案I O
一 檔案描述符 linux系統中,所有開啟的檔案都對應乙個數字,這個數字由系統來分配,稱為檔案描述符。pcb程序控制塊裡有檔案描述符表,以陣列形式存放於核心區。乙個程序預設開啟3個檔案描述符 stdin fileno 0 stdout fileno 1 stderr fileno 2 新開啟檔案返回...
linux系統程式設計之檔案IO
1.開啟檔案的函式open,第乙個引數表示檔案路徑名,第二個為開啟標記,第三個為檔案許可權 效果測試 列印開啟檔案返回的描述符為3,同時建立了檔案testopen1 2.建立檔案函式creat和關閉函式close 使用 include include include includeint main ...