我想知道是否有任何简单的方法在c中添加字符串和int。问题是我无法真正加载很多库,因为我正在处理一个内存很少的arduino。
简而言之,有没有办法在arduino中一起添加字符串和int?
我的解决方案现在直到现在一直都不优雅:
Serial.print(string);
Serial.print(seperator);
Serial.print(integer);
.
.
.
.
答案 0 :(得分:0)
如果您想进行转换只是为了打印输出 串口,你拥有的代码可能是最好的解决方案, 即使它看起来不优雅。
如果您在说“字符串”时使用String object,则为您 可以使用:
将整个表达式转换为String对象string + seperator + String(integer)
但是Arduino String对象没有充分利用内存 如果您只打印结果,则没有理由这样做 到串口。
或者,您可以使用C字符数组,这样会更好 使用内存,以及来自stdlib的itoa函数,它增加了一些 600字节。请参阅printing numbers。
答案 1 :(得分:0)
好吧,你可以用+
添加两个整数,所以你真正需要的是一种将字符串转换为整数的方法。最简单的可能是sprintf
。
int j;
char const* s;
sprintf(s, "%d", &j);
如果您不想使用sprintf
,您可以轻松编写自己的例程:
int stringToInt (char const *s)
{
int i = 0;
while (*s != 0)
{
i *= 10;
i += (*s - '0');
s++;
}
return i;
}
请注意,这将返回垃圾,除非s
仅包含以10为基数表示的十进制整数。