1.模擬cp複製功能
2.flock實現非同步讀寫
flock(鎖定檔案或解除鎖定)
表頭檔案 #include
定義函式 int flock(int fd,int operation);
函式說明 flock()會依引數operation所指定的方式對引數fd所指的檔案做各
種鎖定或解除鎖定的動作。此函式只能鎖定整個檔案,無法鎖定文
件的某一區域。
引數 operation有下列四種情況:
lock_sh 建立共享鎖定。多個程序可同時對同乙個檔案作共享鎖
定。lock_ex 建立互斥鎖定。乙個檔案同時只有乙個互斥鎖定。
lock_un 解除檔案鎖定狀態。
lock_nb 無法建立鎖定時,此操作可不被阻斷,馬上返回程序。通
常與lock_sh或lock_ex 做or(|)組合。
單一檔案無法同時建立共享鎖定和互斥鎖定,而當使用dup()或fork
()時檔案描述詞不會繼承此種鎖定。
返回值 返回0表示成功,若有錯誤則返回-1,錯誤**存於errno。
testone.c
1 #include 2 #include 3 #include 4 #include 5 #include 6
7 #define buffersize 4096
8 #define copymode 0644
9 10 int main(int argc,char * argv)
11 20
23 int cnt = 10;
24 while(cnt)
25
42 if(close(fd) == -1)
43 printf("closing files error!\n");
44 }
testtwo.c
1 #include 2 #include 3 #include 4 #include 5 #include 6
7 #define buffersize 4096
8 #define copymode 0644
9 10 int main(int argc,char * argv)
11 20
23 int cnt = 10;
24 while(cnt)
25
42 if(close(fd) == -1)
43 printf("closing files error!\n");
44 }
執行結果: Spring檔案上傳功能原始碼剖析
spring預設提供了檔案上傳的功能。用起來非常簡單,我們也可以使用第三方的如apache的commonsupload包來處理。這裡我們使用spring自帶的解析。1 在spring配置中,加上multipartresolver介面的bean。bean name conditionalo singb...
Android簡訊功能原始碼方法
android系統提供了intent方法,來實現簡訊介面的呼叫。使用startactivity 啟動了了簡訊功能後,簡訊介面就會呈現在使用者面前。開發其他應用程式用此方法,就顯得不太合理。在這裡總結使用原始碼來完成簡訊傳送任務,很多 都來自網上,在這裡,我僅做了點封裝。由於在msm簡訊是在後台傳送的...
C 實現更改IP功能原始碼
public changeip cortrol ipaddr list subnetmask list public void changeto string ipaddr,string subnetmask cortrol ipaddr list subnetmask list gateway l...