Converting float and int to string, not String

I am working on a project that has one Arduino Uno reading from 4 sensors (GPS, Thermometer, Pedometer, and Microphone). That Uno will be serially transmitting the data to an ArduCam ESP8266 Uno board that will be posting the information to a webserver.

Ideally, I want to append all of the data I gather in one loop iteration into a string separated by some symbol (i.e. ":" ) that will make parsing the data on the Mobile App much easier. Any ideas on how to convert the data consisting of floats and ints into one string for transmitting?

After reading other forums, I am trying to avoid String types if possible.

Thanks in advance.

The itoa function for integers

The dtostrf function for floats

The sprintf function works, too. Floats are not supported for sprintf. Convert floats to ASCII string first with dtostrf.

An example using sprintf() function to build a string.

int intNum = 1234;
float floatNum = 3.14;

void setup()
{
   Serial.begin(115200);
   char floatStr[6] = "";  // *** make sure this is large enough (don't forget the null)
   dtostrf(floatNum, 1, 2, floatStr);
   Serial.print(" the data are ");
   char outputStr[16] = "";  // *** make sure this is large enough (don't forget the null)
   sprintf(outputStr, "%d,%s", intNum, floatStr);
   Serial.println(outputStr);
}

void loop()
{

}