文件系统操作由C语言编程和系统命令调用



我需要这样的操作:ls -r, mv, copy, delete, rm -rf从C程序中调用。最好的方法是什么?通过调用system()调用或自己编写这些功能来调用这些命令?

execv应该可以。

execv("ls", "-r", NULL);

它应该也适用于其他命令(虽然没有测试)

链接

我会重新编码它们,因为我对学习如何这样做很感兴趣。但这比通过system(3)调用它们要麻烦得多。您还可以在需要时使用rename(2)和其他系统调用。

所以如果你想快速完成,使用system(3);否则,玩得开心:)

编辑:

我的建议:首先使用system(3)exec*(3)(这样您就可以从您使用的二进制文件中受益于已经实现的功能,如-r),当您完成程序的其余部分时,您可以享受改进的乐趣。

最新更新