日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

link,unlink,remove, rename函数

發布時間:2024/1/4 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 link,unlink,remove, rename函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

link函數:創建一個指向現有文件的鏈接的方法是使用

個人理解為cp命令

#include <unistd.h>
int link( const char *existingpath, const char *newpath );
                                 返回值:若成功返回0,若出錯返回-1

此函數創建一個新目錄項newpath,它引用現有的文件existingpath。如若newpath已經存在,則返回出錯。

只創建newpath中的最后一個分量,路徑中的其他部分應當已經存在。

創建新目錄項以及增加鏈接計數應當是個原子操作。

unlink函數:刪除一個現有的目錄項,可以調用unlink函數

個人理解為rm命令

#include <unistd.h>
int unlink( const char *pathname );
返回值:若成功則返回0,若出錯則返回-1

此函數刪除目錄項,并將由pathname所引用文件的鏈接計數減1。

如果還有指向該文件的其他鏈接,則仍可通過其他鏈接訪問該文件的數據。如果出錯,則不對該文件做任何更改。

為了解除對文件的鏈接,必須對包含該目錄項的目錄具有寫和執行的權限。如果對該目錄設置了粘住位,則對該目錄必須具有寫權限,并且具備下面三個條件之一:

擁有該文件。

擁有該目錄。

具有超級用戶特權。

實例:前提得存在bar

#include "apue.h"
#include <fcntl.h>

int main()
{
  if (open("bar",O_RDWR)<0)
  err_sys("open error");
  if (unlink("bar")<0)
  err_sys("unlink error");
  printf("file unlink
");
  sleep(15);
  printf("done
");
  exit(0);

}

remove函數解除對一個文件或目錄的鏈接,

對于文件,remove的功能與unlink相同。對于目錄,remove的功能與rmdir相同。

#include <stdio.h>
int remove( const char *pathname);
返回值:若成功則返回0,若出錯則返回-1

rename函數對文件或目錄更名

#include <stdio.h>
int rename( const char *oldname, const char *newname );
返回值:若成功則返回0,若出錯則返回-1

總結

以上是生活随笔為你收集整理的link,unlink,remove, rename函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。