open:
作用:開啟和建立檔案;
#include
int open(constcharpathname,intflags);
int open(constcharpathname,intflags,mode_t mode);
返回值:成功則返回檔案描述符,否則返回-1
o_rdonly唯讀模式
o_wronly只寫模式
o_rdwr讀寫模式
read:
函式定義
ssize_t read [1] (int fd, void *buf, size_t count);
成功返回讀取的位元組數,出錯返回-1並設定errno,如果在調read之前已到達檔案末尾,則這次read返回0。
引數count是請求讀取的位元組數,讀上來的資料儲存在緩衝區buf中,同時檔案的當前讀寫位置向後移
write:
write函式把buf中nbyte寫入檔案描述符handle所指的文件,成功時返回寫的位元組數,錯誤時返回-1.
:ssize_t write(int fd, const void *buf, size_t nbyte);
fd:檔案描述符;
buf:指定的緩衝區,即指標,指向一段記憶體單元;
nbyte:要寫入檔案指定的位元組數;
返回值:寫入文件的位元組數(成功);-1(出錯)
#include
"head.h"
intmain
(int argc,
char
**ar**)if(
(fd2 =
open
(ar**[2]
, o_creat| o_rdwr,
0666))
<0)
while(1
);ssize_t size =
read
(fd, buff,
sizeof
(buff));
//實現讀入;
printf
("%s"
, buff)
;// 將讀入的內容列印;
write
(fd2, buff, size)
;// 將讀入的內容再寫入檔案2;
if(size <=0)
}close
(fd)
;close
(fd2)
;// 關閉檔案1和2;
perror
("open2");
return0;
}
8 26函式相關練習
1.concat 例 select concat no why from dual 註解 個人理解以下註解同下 其實就是將兩個字元拼接 於是我試了以下 例 select concat yes or no from dual 註解 報錯了 說明只能拼接倆個字元 2.substr substr 被擷取字...
利用read write函式實現copy功能
ssize t read int fd,void buf,size t count 引數 fd 檔案描述符 buf 存資料的緩衝區 count 緩衝區的大小 返回值 0 讀到檔案末尾 成功 0 實際從fd讀到的資料大小 失敗 1,並設定errno 將檔案設定為非阻塞,當read沒有資料時返回 1 且...
函式 內建函式 匿名函式 相關練習
4,用map來處理字串列表,把列表中所有人都變成sb,比方alex sb name oldboy alex wusir print list map lambda a a sb name 5.用map來處理下述l,然後用list得到乙個新的列表,列表中每個人的名字都是sb結尾 l print lis...