-1

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

5 字节只是一个例子。这可能会有所不同。但是到目前为止,请给出一个 5 个字节的解决方案,例如。字节可以是字符类型或整数。最好是性格。

4

2 回答 2

4
char message[5] = {'H', 'e', 'l', 'l', 'o'};
char byte5;

memcpy(&byte5, message+4, 1);

printf("Byte #5 is %c\n", byte5);
于 2013-02-22T06:44:16.623 回答
-3

您应该首先发布您尝试过的方式以及遇到困难的地方。

但是,例如,

char buf[5]; /*your message buffer*/
char req_byte;  /*your required byte */

你可以使用 memcpy 作为,

memcpy(&req_byte, (buf+4), 1);

这会将您的消息的第五个字节复制到 req_byte。您可以在源缓冲区中 (+) 之后更改数字以复制所需的字节。

希望能帮助到你....

于 2013-02-22T06:48:35.393 回答