我试图从数据包有效负载读取其用户代理。
我在数据包有效负载中搜索“User-Agent”,并且从那时开始复制“User-Agent”出现和之后第一次出现'\ n'之间的字符数。这是我的代码:
sprintf(
stat,"%.*s\0",
strstr(strstr(p->data, "User-Agent:"),"\n") - strstr(p->data, "User-Agent:"),
strstr(p->data, "User-Agent: ")
);
麻烦的是,对于很多数据包,这会导致seg错误。我很抱歉这种愚蠢的写作方式;如果你知道更好的写作方式(或格式化),请告诉我。
答案 0 :(得分:0)
为什么要编写如此复杂的代码?指针关节炎可能最终指向会产生seg故障的东西。考虑重构代码。