如何将 Wifi.localIP() 转换为字符串并将其存储到外部变量

新手上路,请多包涵

我正在尝试将 IP 地址存储到外部字符串中。我的 ip 地址值在 .cpp 中,但我想将它存储在我的 .h 文件中。我将其存储为字符串,因为我想将其作为链接。 (http://“IP地址”/)

我的 .h 文件

extern std::string ipadd1 = "";

我的 .cpp 文件

if (connectWifi("", "") == WL_CONNECTED)   {
    DEBUG_WM(F("IP Address:"));
    DEBUG_WM(WiFi.localIP());
ipadd1 = String(WiFi.localIP());
    //connected
    return true;
  }

原文由 user7942792 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

5 分钟的搜索给了我 WiFi.localIp() 函数描述,从那里我知道它返回了 IPAddress 对象。 关注 forum.arduino.cc 主题:如何操作 IPAddress 变量/转换为字符串,您可以使用以下函数将其转换为字符串:

 // author apicquot from https://forum.arduino.cc/index.php?topic=228884.0
String IpAddress2String(const IPAddress& ipAddress)
{
    return String(ipAddress[0]) + String(".") +
           String(ipAddress[1]) + String(".") +
           String(ipAddress[2]) + String(".") +
           String(ipAddress[3]);
}

IPAddress 可以作为 4 个数组处理 int s。

原文由 KamilCuk 发布,翻译遵循 CC BY-SA 4.0 许可协议

IPAddress 转换为 String ,然后获取 const char * 并将其转换为 std::string

 ipadd1 = WiFi.localIP().toString().c_str();

原文由 Indiana Kernick 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题