5 つのフィールド (それぞれ 1 バイト) を持つ 5 バイトのメッセージがあります。5 番目のバイトをバッファにコピーする必要があります。memcpyを使用してそれを行う方法は?
5バイトは単なる例です。これは異なる場合があります。しかし、今のところ、5バイトの解決策を教えてください。バイトは、文字型または整数のいずれかです。できればキャラ。
5 つのフィールド (それぞれ 1 バイト) を持つ 5 バイトのメッセージがあります。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);
これにより、メッセージの 5 番目のバイトが req_byte にコピーされます。ソースバッファの (+) の後の数値を変更して、目的のバイトをコピーできます。
それが役に立てば幸い....