定义:
readStringUntil函数可用于从设备接收到的数据中读取信息。读取到的数据信息将以字符串形式返回。该函数在满足以下任一条件后都会停止函数执行并返回。当函数读取到终止字符后,会立即停止函数执行。此时函数所返回的字符串为”终止字符”前的所有字符信息。
语法
client.readStringUntil(terminator)
参数
terminator: 终止字符。用于设置终止函数执行的字符信息。设备在读取数据时一旦读取到此终止字符,将会结束函数执行。允许使用char类型。
返回值
接收到的数据,类型为字符串。
示例(只展示部分代码)
当客户端收到服务器请求的响应的信息时:
//利用while函数将响应的信息逐条输出显示出来:
Serial.println("Web Server Response:");
while (client.connected() || client.available()){
if (client.available()){
String line = client.readStringUntil('\n');
Serial.println(line);
}
}
为了更直观解释为什么 `readStringUntil('\n');` 所带的参数为'\n',可以看看下面这幅图。图中表示的是服务器中发送给客户端的响应信息,其中包括响应状态(第1行)+响应头(第2~14行)+响应体(第15行~结尾)。由图中可以知道,每一行都有一个 ‘\n’ 作为结尾,即通过 `readStringUntil('\n');`函数,当读取到 '\n'字符时,将自动结束并返回那一行的响应信息。
实际串口输出的结果如下图所示:
注意:
①:因为 ‘\r\n’ 表示换行的意思,所以在串口中输出的结果中由换行来显示,故没有出现 '\r\n’这个符号。
②代码中通过while()函数才可以将所有的响应信息读取出来,单独的readStringUntil('\n');
函数只能读取一条响应信息。