64,637
社区成员
发帖
与我相关
我的任务
分享
unsigned char *cmdToint(string cmd)
{
long len = cmd.length() / 2;
unsigned char temp[2];
char *ccmd =(char *) cmd.c_str();
unsigned char *command = new unsigned char[len + 1];
unsigned char *commandTmp = new unsigned char[len * 2 + 1];
strcpy((char *)commandTmp, ccmd);
for (int i = 0; i < len; ++i)
{
temp[0] = commandTmp[i * 2];
temp[1] = commandTmp[i * 2 + 1];
sscanf_s((char*)temp,"%x",&command[i]);//sscanf会先将字符串转换为对应的16进制整数
}
delete []commandTmp;
return command;
}
string scmd = "80E006000400000200";
unsigned char *cmd=cmdToint(scmd);
unsigned char *rec=new unsigned char[40];
senddata(hdll)(handle, 1, 9, cmd, rec);
delete []cmd;
printf("清卡返回值:%x%x\n", rec[0], rec[1]);