c#代码
int i=10;
string s=i.ToString();
Arduino代码
char s[5];
int i=10;
itoa(i,s,20);
差别的核心在于Arduino使用c的语法,没有string的对象所以也没有对应的方法。定义string的对象只能用
char s[25];
char *s;
也就是说,字符数组全等于字符串
函数itoa()原型
char *itoa(int value, char *string, int radix);
原型说明: value:欲转换的数据。 string:目标字符串的地址。 radix:转换后的进制数,可以是10进制、16进制等。
功能:把一个整数转换为字符串。
//把整数123 打印成一个字符串保存在s 中。 、
sprintf(s, "%d", 123); //产生"123"
sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf 在大多数场合可以替代itoa。
//把整数123 打印成一个字符串保存在s 中。
sprintf(s, “%d”, 123); //产生"123"
可以指定宽度,不足的左边补空格:
sprintf(s, “%8d%8d”, 123, 4567); //产生:" 123 4567"
当然也可以左对齐:
sprintf(s, “%-8d%8d”, 123, 4567); //产生:“123 4567”
也可以按照16 进制打印:
sprintf(s, “%8x”, 4567); //小写16 进制,宽度占8 个位置,右对齐
sprintf(s, “%-8X”, 4568); //大写16 进制,宽度占8 个位置,左对齐
sprintf 的格式控制串中既然可以插入各种东西,并最终把它们“连成一串”,自然也就能够连
接字符串,从而在许多场合可以替代strcat,但sprintf 能够一次连接多个字符串(自然也可以同时
在它们中间插入别的内容,总之非常灵活)。比如:
char* who = “I”;
char* whom = “China”;
sprintf(s, “%s love %s.”, who, whom); //产生:"I love China. "