PBYTE pBuff;
char szFileName[] = "1234567890"; pBuff = (PBYTE)LocalAlloc (LPTR, 14);
pBuff[0] = char(0x01);
pBuff[1] = char(0x30);
pBuff[2] = char(0x00);
pBuff[3] = char(0x10);
strcat((char *)pBuff, szFileName);结果是: ASCII码 pBuff[0] = 1;
pBuff[1] = 0x30;
但是 pBuff[2] = 50;即是1的ASCII码.
pBuff[3] = 51;即是2的ASCII码.
也就是说:strcat之后覆盖了两个字符!
请问是什么原因?
char szFileName[] = "1234567890"; pBuff = (PBYTE)LocalAlloc (LPTR, 14);
pBuff[0] = char(0x01);
pBuff[1] = char(0x30);
pBuff[2] = char(0x00);
pBuff[3] = char(0x10);
strcat((char *)pBuff, szFileName);结果是: ASCII码 pBuff[0] = 1;
pBuff[1] = 0x30;
但是 pBuff[2] = 50;即是1的ASCII码.
pBuff[3] = 51;即是2的ASCII码.
也就是说:strcat之后覆盖了两个字符!
请问是什么原因?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货