我从 Arduino 上的一个模拟引脚获取一个 int 值。如何将其连接到 String
,然后将 String
转换为 char[]
?
有人建议我尝试 char msg[] = myString.getChars();
,但我收到一条消息,指出 getChars
不存在。
最佳答案
要转换并附加整数,请使用 operator += (或成员函数
concat
):String stringOne = "A long integer: "; stringOne += 123456789;
要获取
char[]
类型的字符串,请使用 toCharArray() :char charBuf[50]; stringOne.toCharArray(charBuf, 50)
在示例中,只有 49 个字符的空间(假设以 null 结尾)。您可能希望使尺寸动态化。
开销
引入 String
的成本(如果不在草图中的任何地方使用,则不包括在内)大约为 1212 字节程序存储器(闪存)和 48 字节 RAM。
这是使用 Arduino IDE 版本 1.8.10 (2019-09-13) 对 Arduino Leonardo 草图进行测量的。
风险
必须有足够的可用 RAM。否则,结果可能是应用程序锁定/卡住或其他奇怪的行为( UB )。
关于string - 在 Arduino 上将 int 或 String 转换为 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7383606/