790
社区成员
发帖
与我相关
我的任务
分享
//utf8-转utf16
smlen = MbsToSms(SmBuf, (char*)pack.sent_content.c_str(),pack.sent_content.length());//utf8-转utf16
//判断第一次发送并且是长短信
if(isfirst == 1 && nlong == 1)
{
body_head[0] = 0x05;/* 包头长度,固定填写0x05 */
body_head[1] = 0x00;/* 包头类型标识,固定填写0x00,表示长短信 */
body_head[2] = 0x03;/* 子包长度,固定填写0x03,表示后面三个字节的长度 */
body_head[3] = 0x00;
body_head[4] = mysmstext.sm_count;/* 用于表示一共有多少条短信要和并 */
body_head[5] = subseq;/* 用于表示本条的索引值,计数从 1 开始 */
esm_class = 0x40;
len = 6;
}
//后续子短信
if(isfirst == 0)
{
body_head[0] = 0x05;/* 包头长度,固定填写0x05 */
body_head[1] = 0x00;/* 包头类型标识,固定填写0x00,表示长短信 */
body_head[2] = 0x03;/* 子包长度,固定填写0x03,表示后面三个字节的长度 */
body_head[3] = 0x00;
body_head[4] = ncount;/* 用于表示一共有多少条短信要和并 */
body_head[5] = subseq;/* 用于表示本条的索引值,计数从 1 开始 */
esm_class = 0x40;
len = 6;
}
//此处省略一些不必要的包体元素
memcpy(buffer+bodylen, body_head, len);/* sm */
bodylen+=len;
memcpy(buffer+bodylen, mtcBuf, smlen);/* sm */
bodylen+=smlen;