我有一个小的 C 代码片段,如下所示:
static void results(void)
{
int id;
uint64_t packets, bytes;
packets = 0;
bytes = 0;
if (x->option)
{
printf("\n App Packets Bytes");
printf("\n --------------------------------\n");
}
for (id = 0; id < x->config_num_proto; id++)
{
if (x->option)
{
if (x->packets)
{
printf(" %-12s%-12" PRIu64 "%" PRIu64 "\n", x->name
, x->packets, x->bytes);
}
}
packets += x->packets;
bytes += x->bytes;
}
printf("\n")
}
输出如下所示:
App Packets Bytes
AB 312 44922
CD 5 863
EF 18 2160
GH 9 574
.. .. ..
.. .. ..
我的目标是以相同的方式打印输出,除了数据包应该按升序排列。我对 C 语言还很陌生,所以想不出可以给我想要的输出的棘手和小东西。任何建议将不胜感激。