📅  最后修改于: 2023-12-03 14:48:27.644000             🧑  作者: Mango
WiFi.localIP() 到字符串
WiFi.localIP()
函数用于获取 ESP8266 或 ESP32 的本地 IP 地址,返回的是一个 IPAddress
类型的对象。在实际应用中,我们通常需要将 IP 地址转换为字符串类型,方便进行数据传输或显示等操作。本文将介绍将 WiFi.localIP()
返回的 IP 地址转换为字符串类型的方法。
将 IPAddress
对象转换为字符串,可以通过以下两种方法实现:
toString()
函数IPAddress
类型提供了 toString()
函数,可以将 IP 地址转换为字符串类型。使用方法如下:
IPAddress ip = WiFi.localIP();
String ipStr = ip.toString();
Serial.println(ipStr);
其中,ip.toString()
返回一个 String
类型的对象,表示 IP 地址转换后的字符串。
sprintf()
函数另一种常见的方法是使用 sprintf()
函数将 IP 地址转换为字符串类型。此方法的实现需要引入头文件 stdio.h
,使用时可以按照以下示例进行:
#include <stdio.h>
IPAddress ip = WiFi.localIP();
char ipStr[16];
sprintf(ipStr, "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);
Serial.println(ipStr);
在该示例中,我们首先定义了一个长度为 16 的字符数组 ipStr
。然后,使用 sprintf()
函数将 IP 地址转换为字符串类型,其中 %d.%d.%d.%d
表示 IP 地址的格式,分别对应四个字节的 IP 地址。最后,我们将转换后的字符串通过串口输出。
需要注意的是,以上两种方法都假设 IP 地址为 IPv4 类型,如果需要支持 IPv6 地址,请参考相应资料进行转换。
IPAddress
类型官方文档:https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/ipaddress-class.htmlsprintf()
函数官方文档:https://www.cplusplus.com/reference/cstdio/sprintf/