Как мне преобразовать Wifi.localIP () в String и сохранить его во внешней переменной - PullRequest
2 голосов
/ 23 апреля 2019

Я пытаюсь сохранить IP-адрес во внешней строке. Значение моего IP-адреса находится в .cpp, но затем я хочу сохранить его в своем файле .h. Я храню это как строку, так как я хочу сделать это как ссылку. (http: // "ip address" /)

Мой .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;
  }

Ответы [ 2 ]

1 голос
/ 23 апреля 2019

Преобразовать IPAddress в String, затем получить const char * и преобразовать его в std::string.

ipadd1 = WiFi.localIP().toString().c_str();
1 голос
/ 23 апреля 2019

5-минутный поиск дает мне описание функции WiFi.localIp () , откуда я знал, что он вернул IPAddress объект.После forum.arduino.cc Тема: Как манипулировать переменными IP-адреса / преобразовать в строку , вы можете использовать следующую функцию для преобразования ее в строку:

// 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 с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...