来自C编程和系统命令调用的文件系统操作

时间:2013-03-06 13:17:41

标签: c filesystems

我需要以下操作: 来自C程序的ls -rmvcopydeleterm -rf。 什么是最好的方法? 要通过调用system()调用或自己编写这些功能来调用这些命令吗?

2 个答案:

答案 0 :(得分:0)

execv应该有用。

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

它也适用于其他命令(不测试)

Link

答案 1 :(得分:0)

我会对它们进行重新编码,因为我有兴趣学习如何做到这一点。但这比通过system(3)调用它们要多得多。您也可以根据需要使用rename(2)和其他系统调用。

因此,如果您想快速完成,请使用system(3);别的,玩得开心:))

修改

我的建议:首先使用system(3)exec*(3)(因此您可以从已使用的二进制文件中已经实现的功能,例如-r),以及你已经完成了其余的程序,你可以很好地改进它。