欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言中建立和刪除文件連接的相關(guān)函數(shù)講解

 更新時間:2015年09月01日 15:35:25   投稿:goldensun  
這篇文章主要介紹了C語言中建立和刪除文件連接的相關(guān)函數(shù)講解,分別為link和unlink函數(shù)的使用,需要的朋友可以參考下

C語言link()函數(shù):建立文件連接
頭文件:

#include <unistd.h>

定義函數(shù):

int link (const char * oldpath, const char * newpath);

函數(shù)說明:link()以參數(shù)newpath 指定的名稱來建立一個新的連接(硬連接)到參數(shù)oldpath 所指定的已存在文件. 如果參數(shù)newpath 指定的名稱為一已存在的文件則不會建立連接.

返回值:成功則返回0, 失敗返回-1, 錯誤原因存于errno.

附加說明:link()所建立的硬連接無法跨越不同文件系統(tǒng), 如果需要請改用symlink().

錯誤代碼:
1、EXDEV 參數(shù)oldpath 與newpath 不是建立在同一文件系統(tǒng).
2、EPERM 參數(shù)oldpath 與newpath 所指的文件系統(tǒng)不支持硬連接
3、EROFS 文件存在于只讀文件系統(tǒng)內(nèi)
4、EFAULT 參數(shù)oldpath 或newpath 指針超出可存取內(nèi)存空間.
5、ENAMETOLLONG 參數(shù)oldpath 或newpath 太長
6、ENOMEM 核心內(nèi)存不足
7、EEXIST 參數(shù)newpath 所指的文件名已存在.
8、EMLINK 參數(shù)oldpath 所指的文件已達(dá)最大連接數(shù)目.
9、ELOOP 參數(shù)pathname 有過多符號連接問題
10、ENOSPC 文件系統(tǒng)的剩余空間不足.
11、EIO I/O 存取錯誤.

范例:

/* 建立/etc/passwd 的硬連接為pass */
#include <unistd.h>
main()
{
  link("/etc/passwd", "pass");
}

C語言unlink()函數(shù):刪除文件
頭文件:

#include <unistd.h>

定義函數(shù):

int unlink(const char * pathname);

函數(shù)說明:unlink()會刪除參數(shù)pathname 指定的文件. 如果該文件名為最后連接點, 但有其他進(jìn)程打開了此文件, 則在所有關(guān)于此文件的文件描述詞皆關(guān)閉后才會刪除. 如果參數(shù)pathname 為一符號連接, 則此連接會被刪除。

返回值:成功則返回0, 失敗返回-1, 錯誤原因存于errno

錯誤代碼:
1、EROFS 文件存在于只讀文件系統(tǒng)內(nèi)。
2、EFAULT 參數(shù)pathname 指針超出可存取內(nèi)存空間。
3、ENAMETOOLONG 參數(shù)pathname 太長。
4、ENOMEM 核心內(nèi)存不足。
5、ELOOP 參數(shù)pathname 有過多符號連接問題。
6、EIO I/O 存取錯誤。

相關(guān)文章

  • c++11之std::async 和std::thread的區(qū)別小結(jié)

    c++11之std::async 和std::thread的區(qū)別小結(jié)

    std::async和std::thread都是C++11中提供的線程庫,它們都可以用于創(chuàng)建新線程,本文主要介紹了c++11之std::async 和std::thread的區(qū)別小結(jié),感興趣的可以了解一下
    2024-02-02
  • VC下實現(xiàn)fopen支持中文的方法

    VC下實現(xiàn)fopen支持中文的方法

    這篇文章主要介紹了VC下實現(xiàn)fopen支持中文的方法,需要的朋友可以參考下
    2014-07-07
  • 深入解析C++中多態(tài)性和虛函數(shù)使用原理

    深入解析C++中多態(tài)性和虛函數(shù)使用原理

    這篇文章主要為大家介紹了深入解析C++中多態(tài)性和虛函數(shù)使用原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 基于QT制作一個TCPServer與TCPClient的通信

    基于QT制作一個TCPServer與TCPClient的通信

    這篇文章主要為大家詳細(xì)介紹了如何基于QT制作一個TCPServer與TCPClient的通信,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • C++11新特性std::make_tuple的使用

    C++11新特性std::make_tuple的使用

    這篇文章主要介紹了C++11新特性std::make_tuple的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • C++歸并排序算法詳解

    C++歸并排序算法詳解

    大家好,本篇文章主要講的是C++歸并排序算法詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • C語言程序的編譯與預(yù)處理基礎(chǔ)定義講解

    C語言程序的編譯與預(yù)處理基礎(chǔ)定義講解

    在ANSI C的任意一種實現(xiàn)中,存在2中不同的環(huán)境。第一種是翻譯環(huán)境,負(fù)責(zé)將源代碼轉(zhuǎn)換成可執(zhí)行的機器指令;第二種是執(zhí)行環(huán)境,用于實際執(zhí)行代碼。一個程序從源代碼到可執(zhí)行程序一共會經(jīng)歷四個過程,分別是預(yù)處理、編譯、匯編、鏈接,本篇讓我們來了解編譯與預(yù)處理
    2022-04-04
  • C++11中std::move、std::forward、左右值引用、移動構(gòu)造函數(shù)的測試問題

    C++11中std::move、std::forward、左右值引用、移動構(gòu)造函數(shù)的測試問題

    這篇文章主要介紹了C++11中std::move、std::forward、左右值引用、移動構(gòu)造函數(shù)的測試,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • C語言之陷阱與缺陷詳解

    C語言之陷阱與缺陷詳解

    本片文章是對C++中陷阱與缺陷進(jìn)行了詳細(xì)的分析介紹,小編覺得本片文章講解的非常詳細(xì),需要的朋友參考下,希望能夠給你帶來幫助
    2021-09-09
  • C++實現(xiàn)自定義撤銷重做功能的示例代碼

    C++實現(xiàn)自定義撤銷重做功能的示例代碼

    在使用c++做界面開發(fā)的時候,尤其是實現(xiàn)白板功能時需要自己實現(xiàn)一套撤銷重做功能.如果是qt則有QUndoable對象,可以直接拿來用。但是如果是使用gdi繪圖,則可能需要自己實現(xiàn)了。本文就來用C++實現(xiàn)自定義撤銷重做功能,需要的可以參考一下
    2022-12-12

最新評論