gpt4 book ai didi

c - 在 Linux 中使用系统 ("command")

转载 作者:太空狗 更新时间:2023-10-29 11:25:20 26 4
gpt4 key购买 nike

是否推荐使用 system() 从 C 程序调用 shell 命令?

我想用 C 语言开发网络爬虫,并想使用 wget 从 URL 中获取内容?我应该使用 system("wget ...") 吗?

最佳答案

无论使用何种编程语言,调用系统 shell 都应该是万不得已的最后手段,因为:

  • 它几乎肯定不会在其他操作系统下运行。
  • 错误处理实际上很复杂(您需要捕获并解析错误流)。通常这只是没有完成,所有错误都被忽略。
  • 如果您将此类应用程序移植到另一个平台,则所有调用的工具也必须移植。

当我们将一些讨厌的 perl 代码移植到移动设备时,同样的 wget 对我们来说是个问题。从 Linux 到 Linux,我们发现“标准”wget 有一些 BusyBox 不支持的开关,因此需要移植 wget 以及后来的 grep 就好像 perl 没有自己的模式搜索一样。在那之后,我完全相信最好不要。

关于c - 在 Linux 中使用系统 ("command"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14414613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com