首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中禁止系统(“ping”)输出

问在C++中禁止系统(“ping”)输出
EN

Stack Overflow用户
提问于 2010-10-31 14:40:25
回答 6查看 10.1K关注 0票数 7

我已经写了一个简单的程序,它能ping通三个站点,然后对它们是否可达做出反应。

我的问题是:我可以禁止系统(“ping”)的输出吗?我已经用C++写了我的代码,因为我最了解这种语言。目前,代码打开运行系统命令的ping.exe。如果我能阻止输出显示,而它仍然是ping,那将是最理想的。

我最终将在windows服务中运行此程序,这就是为什么我既要抑制命令行控制台窗口,也要抑制ping输出。谢谢。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-10-31 14:52:20

尝试执行system("ping host > nul") (nul是windows版的UNIX /dev/null)。

票数 20
EN

Stack Overflow用户

发布于 2010-10-31 14:59:44

通常,如果您要调用另一个程序,但又不希望它的行为类似于std::system,那么您将需要一个特定于平台的函数,如UNIX上的fork()/exec()或Windows上的CreateProcess()。这些函数使您可以控制其他程序的运行方式,例如,不显示输出或不创建控制台窗口等。

票数 6
EN

Stack Overflow用户

发布于 2010-10-31 14:51:54

您可以像下面这样使用系统命令来抑制ping命令的输出。

代码语言:javascript
复制
system("ping 100.100.100.100 > response.dat");

上面的命令pings地址100.100.100.100,并将输出定向到名为response.dat的文件。在response.dat中,您可以看到ping命令的响应。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4062106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档