加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何在不使用删除系统调用的情况下使用C程序删除(完全删除)文件

发布时间:2020-12-13 19:23:54 所属栏目:Linux 来源:网络整理
导读:我一直很好奇Linux中的rem如何工作并尝试编写我自己的可以删除文件的C代码但是当我搜索答案时,我只得到了使用remove()系统调用的程序. 有没有其他方法可以不使用系统调用来编写自己的代码来完成这项工作? 我已经完成了通过C文件复制文件但无法找到通过C删除

我一直很好奇Linux中的rem如何工作并尝试编写我自己的可以删除文件的C代码但是当我搜索答案时,我只得到了使用remove()系统调用的程序.

有没有其他方法可以不使用系统调用来编写自己的代码来完成这项工作?

我已经完成了通过C文件复制文件但无法找到通过C删除文件的解决方案.

最佳答案
如果要删除文件,请使用

remove

功能.如果您想了解标准库的幕后故事,可以下载glibc的源代码(例如)并查看实现.您将看到实际上将在linux os上执行INTERNAL_SYSCALL:

result = INTERNAL_SYSCALL (unlink,err,1,file);

(来自debian eglibc-2.15软件包的/sysdeps/unix/sysv/linux/unlinkat.c)

如果你想进一步甚至不使用那个系统调用,你将不得不实现自己的文件系统逻辑,因为文件系统系统调用只是给不同的文件系统提供了一个抽象层.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读