Arduinoで文字列を作るときはStringクラスが使えますが
速度を高速化したい、既成のsprintfを利用したC言語プロジェクトを流用したいなどのケースでは
標準でsprintf関数を利用することができます。
実際のところ
GPSと加速度を模したデータを一つの文字列として出力したい場合、以下のようにします。
要素ごとにprintfするよりは高速化できます。
void setup() { Serial.begin(9600); char buf[60]; int val1 = -12; int val2 = 987; int year = 2020; int month = 6; int day = 2; int hour = 9; int minute = 30; int second = 8; long latitude = 1111111; long longitude = 2222222; int x = 379; int y = 297; int z = 346; sprintf(buf, "%4d-%02d-%02dT%02d:%02d:%02dZ", year, month, day, hour, minute, second ); sprintf(buf, "%s,%ld,%ld", buf, latitude,longitude ); sprintf(buf, "%s,%d,%d,%d", buf, x,y,z ); Serial.println(buf); } void loop() { }