1,實現檔案拷貝複習檔案的開啟
2, 關於lseek
3,實現最簡單的乙個ls
4,stat結構體及簡單示例
的**簡單實現與整理:
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
910 #define err_exit
(m)\
11do\
12while(0
)1617int
main
(int argc,
char
*ar**)
1826 infd =
open
(ar**[1]
,o_rdonly);27
if(infd ==-1
)28err_exit
("open src error");
29if
((outfd =
open
(ar**[2]
, o_wronly | o_creat | o_trunc,
0644))
==-1)
31err_exit
("open dest error");
32int nread;
33char buf[
1024];
34while
(nread =
(read
(infd, buf,
1024))
>0)
35write
(outfd, buf, nread);36
close
(infd);37
close
(outfd);38
39return0;
40}
實現拷貝:讀取infd所指向的內容,寫入到outfd所指向的內容
首先設定檔案的讀寫模式:將第乙個檔案的內容設定唯讀模式,第二個檔案設定只寫模式,如果原來存在要截0不存在就644建立
再將檔案讀寫與緩衝區配合互動即可
實現?
lseek返回例子?
//...
intmain
(void)18
;24int ret =
read
(fd, buf,5)
;25if(ret ==-1
)26err_exit
("read error");
2728 ret =
lseek
(fd,0,
seek_cur);
29if
(ret ==-1
)30err_exit
("lseek error");
31printf
("current offset = %d\n_"
, ret);32
33return
0;
返回結果?檔案偏移量,test檔案內容是abcde,下標索引從0開始,現在的檔案讀寫指標就到e後面了
開啟乙個目錄l:dir* opendir(char *pathname);
返回乙個dir指標
訪問指定目錄中下乙個連線的細節struct dirent* readdir(dir* dirptr);
目錄結構體資訊
實現?
18
intmain
(int argc,
char
*ar**)
1928
closedir
(dir);29
exit
(exit_success);30
return0;
31-- insert --
結果?將當前資料夾所有檔案都顯示出來了
stat功能:讀取檔案元資料
//233就這麼個意思,懶得除錯系列
**lstat:**獲取鏈結檔案的資訊,無穿透能力
Linux系統程式設計8 檔案I O
fcntl.h 標頭檔案,file control的縮寫。open函式,openat函式 int open const char path,int oflag int openat int fd,const char path,int oflag 將準備開啟的檔案或是裝置的名字作為引數path傳給函...
UNIX程式設計 3 檔案IO
1.open函式 include int open const char pathname,int oflag,mode t mode oflag引數 o rdonly 唯讀開啟 o wronly 只寫開啟 o rdwr 讀寫開啟 這三個必須指定乙個 下面是可選的 o creat 若此檔案不存在,則...
《APUE》筆記(1) 檔案I O
1 概述 1 unix類作業系統最重要的兩個東東 程序和檔案 2 大多數檔案i o用到的5個函式 open,close,read,write,lseek.還有檔案屬性操作函式 dup,fcntl 3 unix類作業系統的檔案i o是不帶快取的i o unbuffered i o 2 檔案描述符 fi...