-2

パケット [bytes] をループして結果を変数に入れようとしていますが、変数に入れるために数時間スタックしました。

これは機能しているもので、出力するだけです。出力を変数に入れるために strcat 、 strcpy 、および sprintf を試しましたが、成功しませんでした。何をすべきか提案してください、私は迷っているので、ありがとう:)

i = 54;
do {
 printf("%c", Buffer[i]);
 i++;
} while(i != Size);
4

1 に答える 1

2

このコードの一部が役立つはずですが、非常に不明確な質問をしたため、実際に何をしようとしているのかを理解するのは困難です。

ところで、ここでわかるようBufferに、初期化されていません (実際には、他のすべてが に依存しているため、すべてが に依存していBufferます。出力するデータを取得することを目的としていました。

#include <stdio.h>

int main(int argc, char **argv)
{
    const int Size = 100;
    unsigned char Buffer[Size];
    unsigned char OutBuffer[Size];
    unsigned char PrnBuffer[Size*3];

    /* I have understanding you tried to output chars to OutBuffer but
       you just need to iterate OutBuffer bytes the same way... */
    int i = 54;
    int j = 0;
    do {
        sprintf(&(OutBuffer[j]), "%c", Buffer[i]);
        /* But why simply not outBuffer[j] = Buffer[i]; ?? */
        i++;
        j++;
    } while(i != Size);

    /* And now print this trash... */
    for (i = 0; i < j; ++i)
    {
        sprintf(&(PrnBuffer[i*3]), "%02x ", OutBuffer[i]);
    }
    printf("%d: %s\n", j, PrnBuffer);

    return 0;
}
于 2013-07-01T20:25:34.923 に答える