Alineación de textos en TFT

esto esta mal!! por segunda vez porque ya te lo había señalado. No tiene el buffer o cadena donde guardas el texto formateado.
Mira como lo he hecho o definido

int numero = 12345;
char buffer[20];

sprintf(buffer,"Lo que gustes :%5d", numero);

buffer[20]; es la clave

Otro error del que ahora me percato

sprintf("texto,|%*d|\n", longitud, numero);

No puedes usar %*d que no se de donde lo has sacado para que la longitud sea modificable, no funciona asi, se pone %5d para indicar 5 lugares o %3d para 3 lugares pero no es variable.