为了账号安全,请及时绑定邮箱和手机立即绑定

如何在自己写的 Linux C 程序中以一种优雅的方式调用一些命令?

如何在自己写的 Linux C 程序中以一种优雅的方式调用一些命令?

慕运维8079593 2019-04-16 16:46:15
最近准备使用C语言写一个程序,但是需要用到一些已经存在的命令行工具去实现一部分的功能,例如ifconfig等,但是,不太想用fork之后用execv去实现,这样看上去跟shell脚本好像没有什么不同。特地在这里请教大家:如何在自己写的程序中以一种优雅的方式调用一些命令?例如,能不能利用这些工具的源码去进行封装,不过我不会……在此先谢谢大家了~
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

用system()或popen(),不知道算不算优雅,这个还是留给你自己来评判吧。
#include
#include
#defineSIZE100
intmain()
{
system("ifconfigeth0");
FILE*f=popen("ifconfigeth0","r");
if(f){
charbuf[SIZE];
while(fread(buf,SIZE,1,f)){
printf("%s",buf);
}
pclose(f);
}
return0;
}
                            
查看完整回答
反对 回复 2019-04-16
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

任何调用命令都是对fork之后exec*的封装,包括shell脚本。
于是,你需要的是一个优雅的封装,但是你又不告诉我你用什么写这个程序。
于是,我也不会答。
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 399 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信