Arduino中数据类型转换 int转换为char 亲测好使,itoa()函数

时间:2023-03-10 04:36:16
Arduino中数据类型转换  int转换为char  亲测好使,itoa()函数

由于博主最近在做一个项目,需要采集不同传感器的数据,包括float型的HCHO,以及int型的PM2.5数据。但是最终向服务器上传的数据都得转换为char型才能发送,这是借鉴了一个github上面的实例实现了在Arduino上部署socket使之与服务器进行交互。

github实例如下:

https://github.com/washo4evr/Socket.io-v1.x-Library

在本项目中多次使用了数据类型转换,前文提到了float和double类型转换为char,如下:http://blog.****.net/qq_25827845/article/details/50717522

这里分享一种int -char的方法:

代码如下:

void setup() {
// put your setup code here, to run once: Serial.begin(9600); int number = 12;
char string[25];  itoa(number, string, 10);
Serial.println(string);  char s[] = "ababababbaabababab////";
strcat(s, string);
Serial.println(s);
} void loop() {
// put your main code here, to run repeatedly: }

这是Arduino IDE开发环境中的代码,输入结果将是:

12
ababababbaabababab////12


实现了类型转换,主要使用 stdlib.h 中的  itoa()  函数来实现。在C语言编译环境下,需要导入#include <stdlib.h>库,但是Arduino IDE中不需要进行导入库。

函数itoa()原型

char *itoa(int value,  char *string, int radix);

原型说明:

value欲转换的数据。
string:目标字符串的地址。
radix:转换后的进制数,可以是10进制、16进制等。
功能:把一个整数转换为字符串。