C語言中建立和刪除文件連接的相關(guān)函數(shù)講解
C語言link()函數(shù):建立文件連接
頭文件:
#include <unistd.h>
定義函數(shù):
int link (const char * oldpath, const char * newpath);
函數(shù)說明:link()以參數(shù)newpath 指定的名稱來建立一個(gè)新的連接(硬連接)到參數(shù)oldpath 所指定的已存在文件. 如果參數(shù)newpath 指定的名稱為一已存在的文件則不會(huì)建立連接.
返回值:成功則返回0, 失敗返回-1, 錯(cuò)誤原因存于errno.
附加說明:link()所建立的硬連接無法跨越不同文件系統(tǒng), 如果需要請(qǐng)改用symlink().
錯(cuò)誤代碼:
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 有過多符號(hào)連接問題
10、ENOSPC 文件系統(tǒng)的剩余空間不足.
11、EIO I/O 存取錯(cuò)誤.
范例:
/* 建立/etc/passwd 的硬連接為pass */
#include <unistd.h>
main()
{
link("/etc/passwd", "pass");
}
C語言u(píng)nlink()函數(shù):刪除文件
頭文件:
#include <unistd.h>
定義函數(shù):
int unlink(const char * pathname);
函數(shù)說明:unlink()會(huì)刪除參數(shù)pathname 指定的文件. 如果該文件名為最后連接點(diǎn), 但有其他進(jìn)程打開了此文件, 則在所有關(guān)于此文件的文件描述詞皆關(guān)閉后才會(huì)刪除. 如果參數(shù)pathname 為一符號(hào)連接, 則此連接會(huì)被刪除。
返回值:成功則返回0, 失敗返回-1, 錯(cuò)誤原因存于errno
錯(cuò)誤代碼:
1、EROFS 文件存在于只讀文件系統(tǒng)內(nèi)。
2、EFAULT 參數(shù)pathname 指針超出可存取內(nèi)存空間。
3、ENAMETOOLONG 參數(shù)pathname 太長。
4、ENOMEM 核心內(nèi)存不足。
5、ELOOP 參數(shù)pathname 有過多符號(hào)連接問題。
6、EIO I/O 存取錯(cuò)誤。
相關(guān)文章
詳解C++中十六進(jìn)制字符串轉(zhuǎn)數(shù)字(數(shù)值)
這篇文章主要介紹了詳解C++中十六進(jìn)制字符串轉(zhuǎn)數(shù)字(數(shù)值)的相關(guān)資料,這里提供兩種實(shí)現(xiàn)方法,需要的朋友可以參考下2017-08-08
windows 下C++生成Dump調(diào)試文件與分析
dump文件是C++程序發(fā)生異常時(shí),保存當(dāng)時(shí)程序運(yùn)行狀態(tài)的文件,是調(diào)試異常程序重要的方法,所以程序崩潰時(shí),除了日志文件,dump文件便成了我們查找錯(cuò)誤的最后一根救命的稻草,這篇文章主要介紹了windows 下C++生成Dump調(diào)試文件與分析,需要的朋友可以參考下2023-04-04
C++中使用FFmpeg適配自定義編碼器的實(shí)現(xiàn)方法
本文介紹了在C++中使用FFmpeg庫進(jìn)行自定義編碼器適配的實(shí)現(xiàn)方法。文章通過具體的代碼示例,介紹了FFmpeg的基本使用方法和自定義編碼器的實(shí)現(xiàn)過程,幫助讀者了解如何在C++中進(jìn)行音視頻編碼和解碼的開發(fā)工作,并能夠?qū)崿F(xiàn)自定義的編碼器適配2023-04-04
c語言實(shí)現(xiàn)php的trim標(biāo)簽
本文給大家介紹的是使用C語言實(shí)現(xiàn)php的trim標(biāo)簽功能的代碼,非常的實(shí)用,其主要作用是清除字符串開頭結(jié)尾除空白,有需要的小伙伴可以參考下。2016-01-01

