Existe sprintf en arduino?

leo por todos lados que no esta implementada, pero hay cientos de ejemplos que la usan. Existe realmente porque pruebo para concatenar textos con numero y hacer una sola escritura en un archivo pero tira cualquier cosa.

Claro que existe. Pero no maneja floats ejemplo

char buffer[50];
int num = 1234;
unsigned long = 12484888484;
char str[] = "string";

sprintf(buffer, "Esto es una prueba de enteros %d, largos %ld y cadenas %s", num, lnum, str);
Serial.print(buffer);

gracias

Tomando como base la información que ha señalado surbyte en la clase de hoy, se me ocurre que se podrían conseguir decimales, haciendo algunas operaciones extra con las variables.

float TempA4 = 24.35;
int TA4 = TempA4;
int DecTA4 = (TempA4*100) - (TA4*100);

sprintf(buffer, "%02d.%02d", TA4, DecTA4);
Serial.print(buffer);

PD: ¿será que funciona?, estoy lejos de la PC para experimentar, así que será cosa de probar con el código y afinarlo

PD: gracias surbyte por la clase jejejeje. Supongo que esta linea era así ¿no?

unsigned long lnum= 12484888484;

si claro tambien puedes imprimir float con char * dtostrf( double __val, signed char __width, unsigned char __prec, char * __s)

defines otro

   char buffer[30];
   char buf1[6];
   float mfloat = 23.345;

   dostrf(mfloat, 5, 2, buf1);
   sprintf(buffer,"Float %s", buf1);
   Serial.print(buffer);

Esto imprime el float = 23.345 a traves del serial como 23.34

En realidad me viene utili para concatenar valores y almacenar en un log en un sd, no uso float.

nunca sabes cuando vas a necesitar algo.