gpt4 book ai didi

c - Arduino 连接运算符使字符串为空

转载 作者:行者123 更新时间:2023-11-30 15:26:15 25 4
gpt4 key购买 nike

我正在制作一个 Arduino 项目,我只是想知道为什么以下代码在将字符串发送到串行时会创建新行,但文本为空。就好像 + 运算符使字符串为空。

此代码有效

String stringOne = "This is a string";
Serial.println(stringOne);

当放入循环中时,串行会像预期的那样在新行中重复打印“这是一个字符串”。

此代码不起作用

int number = 1234567890;
String stringOne = "This is a number. It is:";
String stringTwo = String(number);
String stringThree = stringOne + stringTwo;
Serial.println(stringThree);

当放入循环中时,Serial 会生成新行,但不会打印任何内容,就好像字符串为空一样。

如果我能得到任何帮助,我将不胜感激。提前致谢

最佳答案

最初问题存在的原因是你的 SRAM 不足; stringThree 在内存映射的某个区域中创建,其中所有内容始终读取为 0,并且 0 表示底层 char* 的结尾。将尽可能多的常量和文字放入闪存中。

它在新的草图中无法正常工作的原因是因为 AVR 中的 int 只有 16 位长,而您试图将 32 位数字填充到其中;尝试使用 long 代替。

关于c - Arduino 连接运算符使字符串为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27435297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com