Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要像: ls -r, mv, copy, delete,这样的操作rm -rf来从 C 程序中调用。什么是最好的方法?通过调用system()调用或自己编写这些功能来调用这些命令?
ls -r
mv
copy
delete
rm -rf
system()
我会重新编码它们,因为我有兴趣学习如何做到这一点。但这比通过system(3). 您还可以rename(2)根据需要使用和其他系统调用。
system(3)
rename(2)
因此,如果您想快速完成,请使用system(3); 否则,玩得开心:)
编辑:
我的建议:首先使用system(3)or exec*(3)(这样您就可以从已经实现的功能中受益,例如-r,从您使用的二进制文件中受益),当您完成程序的其余部分时,您可以享受改进它的乐趣。
exec*(3)
-r
execv应该管用。
execv
execv("ls", "-r", NULL);
它也应该适用于其他命令(虽然未经测试)
关联