在Arduino中将字符串转换为字符数组
有很多为Arduino构建的库,其函数使用字符数组作为输入而不是字符串。幸运的是,Arduino有一个内置方法( **toCharArray()** )可以将字符串转换为字符数组。下面给出一个示例实现:
示例
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
String s1 = "Hello World!";
char buf[30];
s1.toCharArray(buf,6);
Serial.println(buf);
s1.toCharArray(buf,s1.length());
Serial.println(buf);
}
void loop() {
// put your main code here, to run repeatedly:
}如你所见, **toCharArray** 函数有两个参数:存储字符串字符的数组,以及要转换的字符数量。我们最初只将字符串的前5个字符转换为字符数组。请注意,我们指定长度为6而不是5,因为最后一个字符保留给字符串终止符('0')。因此,如果希望字符串包含N个字符,则在长度参数中输入N+1。
这意味着第一个打印语句只会打印“Hello”。在下一次尝试中,将打印整个字符串,因为我们已将长度参数指定为等于字符串的长度。但是,正如你从下面的输出中看到的,末尾的感叹号(!)丢失了。同样,这是因为理想情况下,我们应该将长度参数指定为字符串长度+1。确保你转换的字符数量不超过你的字符数组可以存储的数量。
串口监视器的输出如下所示:
输出

广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP