- 论坛徽章:
- 0
|
本帖最后由 lcq6075217 于 2010-04-20 21:30 编辑
char messageID[6];//message id
char messageData[20000];//message id
memset(messageID, 0, 6);
memset(messageData, 0, 20000);
memset(recvBuffer, 0, 20000);
memcpy(recvBuffer, "00003245MLL329 20100419110247002SLABID00001 1SLABID00002 2 ", 10000);
memcpy(messageID, recvBuffer+8,6);
memcpy(messageData, recvBuffer, RECV_DATA_BUF_LEN);
etsDebug(0, "aaaaaaaaaaaaaaaaaaaa[%s]", messageID);
上面例子“”中后面都是空格填充的。当memcpy()函数中石10000是 打印出是 ‘aaaaaaaaaaaaaaaaaaaa[MLL329 ]]’
改成3000一下任何一个数打印出的是 aaaaaaaaaaaaaaaaaaaa[MLL329]后者是正确的 不知道为什么?
我知道原因了 etsDebug(0, "aaaaaaaaaaaaaaaaaaaa[%s]", messageID);
这个函数里有个char类型的定义,内存不够。 |
|