如何在不使用删除系统调用的情况下使用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)

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

原文链接:https://www.f2er.com/linux/440719.html

猜你在找的Linux相关文章