我有一条包含 5 个字节和 5 个字段(每个 1 个字节)的消息。我需要将第 5 个字节复制到缓冲区。如何使用 memcpy 做到这一点?
5 字节只是一个例子。这可能会有所不同。但是到目前为止,请给出一个 5 个字节的解决方案,例如。字节可以是字符类型或整数。最好是性格。
我有一条包含 5 个字节和 5 个字段(每个 1 个字节)的消息。我需要将第 5 个字节复制到缓冲区。如何使用 memcpy 做到这一点?
5 字节只是一个例子。这可能会有所不同。但是到目前为止,请给出一个 5 个字节的解决方案,例如。字节可以是字符类型或整数。最好是性格。
char message[5] = {'H', 'e', 'l', 'l', 'o'};
char byte5;
memcpy(&byte5, message+4, 1);
printf("Byte #5 is %c\n", byte5);
您应该首先发布您尝试过的方式以及遇到困难的地方。
但是,例如,
char buf[5]; /*your message buffer*/
char req_byte; /*your required byte */
你可以使用 memcpy 作为,
memcpy(&req_byte, (buf+4), 1);
这会将您的消息的第五个字节复制到 req_byte。您可以在源缓冲区中 (+) 之后更改数字以复制所需的字节。
希望能帮助到你....