#include<stdio.h>
#include<string.h>
int num(char *c)
{ // 字符转换为数字
if (*c >= '0'&&*c <= '9') return *c - '0';
else return *c - 'a' + 10;
}
int sum1(char *p)
{
// 求地址
return 16 * num(p) + num(p + 1);
}
int sum2(char *p)
{ // 求端口
return 256 * 16 * num(p) + 256 * num(p + 1) + 16 * num(p + 3) + num(p + 4);
}
int main()
{
int n, c = 1;
while (scanf("%d", &n) != EOF)
{
char str[1000];
gets(str);
while (n--)
{
gets(str); //从缓冲区获取字符串
int IHL = num(str + 1) * 4 * 3; //计算i
题目1475:IP数据包解析
最新推荐文章于 2022-09-22 19:33:53 发布
该程序读取输入的IP数据包信息,通过字符转换为数字的函数计算IP地址和端口号,并输出结果。它首先计算IP头部长度,然后分别输出源IP、目的IP、源端口和目的端口的详细信息。
摘要由CSDN通过智能技术生成