FCM DATA MODE , THE data value problem

ascii sendbuf[200];
static bool EvhDataUart1(u16 datalength, u8 *data)
{

      adl_fcmSendData(handle_uart1,data,datalength);

      wm_sprintf(sendbuf,"\n\rFCM SEND DATA: %s \n\r",data);

      adl_fcmSendData(handle_uart1,sendbuf,strlen(sendbuf));
}

the first i use adl_fcmSendData the result is very well ,and so right .

but after i use wm_sprintf() function ,the result isnt correct , and there is always be a ‘Z’ in the end of sendbuf, after ‘Z’ , there garble.//…

data is not a ‘C’ string!