我有一个5字节的消息,包含5个字段(每个1字节)。我需要将第5个字节复制到缓冲区。如何使用memcpy?
5字节只是一个例子。这可能会有所不同但截至目前,请提供5字节的解决方案,例如。字节可以是字符类型,也可以是整数。最好是角色。
答案 0 :(得分:3)
char message[5] = {'H', 'e', 'l', 'l', 'o'};
char byte5;
memcpy(&byte5, message+4, 1);
printf("Byte #5 is %c\n", byte5);
答案 1 :(得分:-3)
您应首先发布您尝试的方式以及遇到困难的地方。
然而,例如,
char buf[5]; /*your message buffer*/
char req_byte; /*your required byte */
你可以使用memcpy as,
memcpy(&req_byte, (buf+4), 1);
这会将邮件的第五个字节复制到req_byte。您可以在源缓冲区中的(+)之后改变数字以复制所需的字节。
希望它有所帮助......