-2

我正在尝试循环数据包[字节]并将结果放入变量中,但是我坚持了几个小时将其放入变量中。

这就是工作,只是输出它。我试过 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 回答