现在我有一数组char sDateTime[14],里面存的内容是20080101010101,sDateTime相当于是传送来的变量,现在要怎么将sDateTime里面的值弄到上面?
memcpy(sCommand, "\x80\x52\x00\x00\x0B", 5);
memcpy(sCommand+5, sDateTime, 7);???????????????怎么写??
3 个解决方案
#1
20080101010101是字符串,以ASCII码保存的,形式是\X32\X30\X30\X38...
\x20\x08\x01\x01\x01\x01\x01是数字,所以你需要先把字符串转换到数字形式,然后才能取到
另外char sDateTime[14]不够存放20080101010101
\x20\x08\x01\x01\x01\x01\x01是数字,所以你需要先把字符串转换到数字形式,然后才能取到
另外char sDateTime[14]不够存放20080101010101
#2
怎么写?
#3
char sCommand[100], sDateTime[] = "20080101010101";
memcpy(sCommand, "\x80\x52\x00\x00\x0B", 5);
int i;
for(i = 0; i < strlen(sDateTime); i += 2)
{
sCommand[5 + (i >> 1)] = ((sDateTime[i] - '0') << 4) + (sDateTime[i + 1] - '0');
}
#1
20080101010101是字符串,以ASCII码保存的,形式是\X32\X30\X30\X38...
\x20\x08\x01\x01\x01\x01\x01是数字,所以你需要先把字符串转换到数字形式,然后才能取到
另外char sDateTime[14]不够存放20080101010101
\x20\x08\x01\x01\x01\x01\x01是数字,所以你需要先把字符串转换到数字形式,然后才能取到
另外char sDateTime[14]不够存放20080101010101
#2
怎么写?
#3
char sCommand[100], sDateTime[] = "20080101010101";
memcpy(sCommand, "\x80\x52\x00\x00\x0B", 5);
int i;
for(i = 0; i < strlen(sDateTime); i += 2)
{
sCommand[5 + (i >> 1)] = ((sDateTime[i] - '0') << 4) + (sDateTime[i + 1] - '0');
}