在C中进行字节复制(使用memcpy?)

时间:2013-02-22 06:41:04

标签: c

我有一个5字节的消息,包含5个字段(每个1字节)。我需要将第5个字节复制到缓冲区。如何使用memcpy?

5字节只是一个例子。这可能会有所不同但截至目前,请提供5字节的解决方案,例如。字节可以是字符类型,也可以是整数。最好是角色。

2 个答案:

答案 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。您可以在源缓冲区中的(+)之后改变数字以复制所需的字节。

希望它有所帮助......