Protoneer:
I am finding it hard to even just add a char to char *.
Typically it could be done something like this:
// append c to the string held in buffer
buffer[len++] = c;
// put a null terminator at the new end of the string
buffer[len] = '\0';
You will see plenty of examples of doing this sort of thing if you look for example sketches that read from the serial port.