文章目录 一、函数声明 1.1 函数各功能简述 二、实例 2.1 基本使用(删除文件,与目录) 2.1.1 unlink (结果,文件删除成功,无法删除目录) 2.1.2 跟踪rm -r (其使用的是unlinkat系统调用) 2.1.3 unlinkat (带AT_REMOVEDIR时,能删除文件夹,不带时能删除文件) 2.1.4 remove(可以删除文件,或者文件夹) 2.2 创建临时文件 2.2.1运行结果 三、总结 一、函数声明 #include <unistd.h> int unlink(const char *pathname); #include <fcntl.h> /* Definition of AT_* constants */ #include <unistd.h> int unlinkat(int dirfd, const char *pathname, int flags); #include <stdio.h> int remove(const char *pathname); 1.1 函数各功能简述 unlink 只可以删除文件。 unlinkat 可以删除文件(默认)或文件夹(需要设置flags为AT_REMOVEDIR)。 remove 可以删除文件,或者文件夹。【可以认为remove底层是unlinkat一样的实现,只不过不需要针对是文件夹时,指定参数AT_REMOVEDIR】 二、实例 2.1 基本使用(删除文件,与目录) 2.1.1 unlink (结果,文件删除成功,无法删除目录) #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char **args) { if (unlink("test") < 0) { perror("unlink file test with fail"); exit(-1); } return 0