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);