c++ - 如何在 C++ 程序中 ping 某个 ip
问题描述
通常我只使用system("ping 8.8.8.8");
命令,但我试图将信息存储在变量(IP)中,然后在 c++ 程序中使用系统 ping 该 IP。
这看起来很简单,但是当我尝试执行代码时,它告诉我函数调用中的参数太多。有人可以帮我解决这个问题吗?
ImGui::PushItemWidth(100);
static char IP[64] = ""; ImGui::InputText("PING IP", IP, 64);
ImGui::PopItemWidth();
if (ImGui::Button("ping test")) {
system("ping ", IP);
}
解决方案
该system()
函数只接受一个参数,由其头文件定义:
int system( const char* command );
它期望 shell 执行完整的命令字符串。
处理这种情况的最简单方法是将"ping"
字符串文字和IP
变量连接起来。您可以std::string
在 C++ 中很容易地使用而不是 char 数组来做到这一点:
#include <iostream>
#include <string>
#include <cstdlib>
int main() {
std::string IP ("127.0.0.1");
std::string CMD ("ping " + IP);
std::system(CMD.c_str());
return 0;
}
推荐阅读
- python - 是否存在涵盖官方文档中未包含的内容的 Python 编解码器框架的良好文档?
- batch-file - 批量删除另一个字符串中特定字符串之前的所有内容
- matlab - 带有矩阵的matlab矩形图
- sql - 如何将金额、借方、贷方和余额排列在 1 行中
- r - 如何使用 dplyr 对不同的分组应用相同的功能?
- python - Python:检查每个用户的唯一类别
- c# - 在 ToolStripItem 菜单项上设置位置可访问性信息
- azure - 带有 Docker 映像错误的 Azure Functions:无法访问 Azure Functions 运行时
- numpy - 无法弄清楚为什么我会收到此错误。|TypeError: unsupported operationand type(s) for /: 'list' and 'int'
- javascript - 当文本区域的选择/光标位置发生变化时,是否有事件会告诉我?