複製鏈接
請複製以下鏈接發送給好友

unlink

鎖定
unlink是一個計算機函數,刪除一個文件的目錄項並減少它的鏈接數,若成功則返回0,否則返回-1,錯誤原因存於error。
外文名
unlink
函數原型
int unlink()
所屬庫
const char * pathname
相關函數
link,rename

unlink函數簡介

函數名稱:unlink
: );
頭文件:unistd.h(在WIN32系統中為windows.h)
如果想通過調用這個函數來成功刪除文件,你就必須擁有這個文件的所屬目錄的寫和執行權限。
,remove
unistd.h的宏定義
#ifdef WIN32

#include <windows.h>

#else

#include <unistd.h>

#endif
unlink()會刪除參數pathname指定的文件。如果該文件名為最後連接點,但有其他進程打開了此文件,則在所有關於此文件的文件描述詞皆關閉後才會刪除。如果參數pathname為一符號連接,則此連接會被刪除。
返回值 成功則返回0,失敗返回-1,錯誤原因存於errno
錯誤代碼 EROFS 文件存在於只讀文件系統內
EFAULT 參數pathname指針超出可存取內存空間
ENAMETOOLONG 參數pathname太長
ENOMEM 核心內存不足
ELOOP 參數pathname 有過多符號連接問題
EIO I/O 存取錯誤

unlink程序示例

示例1
#include<unistd.h>


#include<stdio.h>


int main(void)


{


    FILE *fp = fopen("junk.jnk","w");


    int status;


    fprintf(fp,"junk");


    status = access("junk.jnk",0);


    if (status == 0)


        printf("File exists\n");


    else


        printf("File doesn't exist\n");


    fclose(fp);


    unlink("junk.jnk");


    status = access("junk.jnk",0);


    if (status == 0)


        printf("File exists\n");


    else


        printf("File doesn't exist\n");


    return 0;


}