我正在尝试循环数据包[bytes]并将结果放入变量中,但是我坚持了几个小时才把它变成变量。
这是有效的,只是输出它。我已经尝试过strcat,strcpy和sprintf将输出放入变量并且没有成功。建议我做什么,因为我迷路了,谢谢:)。
i = 54;
do {
printf("%c", Buffer[i]);
i++;
} while(i != Size);
答案 0 :(得分:2)
这段代码中的一部分应该会有所帮助,但是您提出了一个非常不明确的问题,并且很难理解您确实想要做什么。
BTW,你可以看到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;
}