Radio buffer problem

Isn’t the issue that

strcpy((char *) tx_buffer, (char)100); // I want to send value 100

Is copying not the value 100 but string which starts at address 100 and continues (could go many kilobytes) until it reaches null termination \0 ?

This should just work fine:

tx_buffer[0] = 100;