Se vuoi inserirei in un buffer dei valori in binario, non puoi gestirli con la strlen perché non stiamo parlando di stringhe.

Quello che ti serve è semplicemente

codice:
memcpy(buffer, &tmp1, 1);
memcpy(buffer+1, &tmp2, 1);
memcpy(buffer+2, &variable, 4);