unlink remove 函式解析

2021-07-14 20:39:10 字數 919 閱讀 7331

int unlink( const char* pathname);

此函式刪除目錄項,並將由pathname所引用檔案的鏈結計數減1。如果還有指向該檔案的其它鏈結,則仍可通過其他鏈結訪問該檔案的資料。如果出錯,則不對該檔案做任何更改。

只有當鏈結計數達到0時,該檔案的內容才可被刪除。

關閉乙個檔案時,核心首先檢查開啟該檔案的程序數。如果該數達到0,然後核心檢查其鏈結數,如果這個數也是0,那麼就刪除該檔案的內容。

#include "apue.h" 

#include 

int 

main(void) 

; if ((fd =open("tempfile", o_rdwr)) < 0) 

err_sys("open error"); 

if (unlink("tempfile") < 0) 

err_sys("unlink error"); 

printf("file unlinked/n"); 

read(fd, buf, sizeof(buf));//you could still read this after unlink 

printf("%s/n", buf); 

sleep(15); 

printf("done/n"); 

exit(0); 

}如果pahtname是符合鏈結,那麼unlink刪除該符號鏈結,而不會刪除由該鏈結所引用的檔案。

#include

int remove(const char* pathname);

我們也可以用remove函式解除對乙個檔案或目錄的鏈結。對於檔案,remove的功能與unlink相同。

iso c指定remove函式刪除乙個檔案,這更改了unix系統歷來使用的名字unlink,其原因是實現c標準的大多數非unix系統並不支援檔案鏈結。

wglUseFontBitmaps函式解釋

函式原型 bool winapi wglusefontbitmaps hdc hdc,dword first,dword count,dword listbase 可以使用wglusefontbitmaps函式來批量的產生顯示字元用的顯示列表。函式有四個引數 第乙個引數是hdc,學過windows ...

send sendto sendmsg函式解析

功能描述 傳送訊息。send只可用於基於連線的套接字,send 和 write唯一的不同點是標誌的存在,當標誌為0時,send等同於write。sendto 和 sendmsg既可用於無連線的套接字,也可用於基於連線的套接字。除了套接字設定為非阻塞模式,呼叫將會阻塞直到資料被傳送完。用法 inclu...

RPAD函式略解

在寫本篇部落格之前,有一點小東西要寫在前面,漢字佔多少個位元組得看你用的是什麼編碼集,如果是gbk和gb2312的話,確實是兩個位元組,在windows平台上會是你預期的兩個位元組。但是在linux平台使用的是utf8字符集,那麼就不一定了,不過,我現在做plsql等東西一般是在win平台上做的,l...