C/C++unlink函数的使用
生活随笔
收集整理的這篇文章主要介紹了
C/C++unlink函数的使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、頭文件
#include<unistd.h>二、函數(shù)原型
int unlink(const char *pathname);三、函數(shù)介紹
unlink()函數(shù)功能即為刪除文件。執(zhí)行unlink()函數(shù)會刪除所給參數(shù)指定的文件。
注意:
????????執(zhí)行unlink()函數(shù)并不一定會真正的刪除文件,它先會檢查文件系統(tǒng)中此文件的連接數(shù)是否為1,如果不是1說明此文件還有其他鏈接對象,因此只對此文件的連接數(shù)進(jìn)行減1操作。若連接數(shù)為1,并且在此時沒有任何進(jìn)程打開該文件,此內(nèi)容才會真正地被刪除掉。在有進(jìn)程打開此文件的情況下,則暫時不會刪除,直到所有打開該文件的進(jìn)程都結(jié)束時文件就會被刪除。
返回值:成功返回0,失敗返回 -1
四、代碼示例
#include<unistd.h> #include<stdio.h> #include<fcntl.h> #include<assert.h>int main() {int fd = open("test.txt", O_RDWR | O_TRUNC | O_CREAT, 0664);assert(fd != -1);if(unlink("test.txt") < 0){printf("unlink errpr!\n");}char buff[128] = {0};write(fd, "hello world!", 12);if(lseek(fd,0,SEEK_SET) == -1){printf("lseek error!\n");}read(fd, buff, 12);printf("%s\n",buff);return 0; } // Delete self unlink(args[0]);五、運(yùn)行結(jié)果
從結(jié)果可以得出,在文件打開的情況下unlink()并不會立即刪除,并且對文件依然可以進(jìn)行讀寫操作,在進(jìn)程結(jié)束之后文件就會被刪除掉!
?
總結(jié)
以上是生活随笔為你收集整理的C/C++unlink函数的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ARP欺骗原理详细介绍
- 下一篇: python的[:-1]和[::-1]用