当我尝试使用参数运行程序时出现分段错误错误。现在我通过 GDB 运行它并找到有问题的行,它看起来像这样:
*dstip = (*optarg);
原型是:
char *dstip;
最后在这一行中调用它:
char *filter = ("ip dest host %s", dstip);
现在回头看它,我并不惊讶它看起来不起作用......坦率地说是错误的,并且通过完全删除这些行(并更改过滤器文本)来解决问题。但是,我需要输入的 IPv4 地址显示在将使用的错误消息过滤器中,并且对指针毫无用处并且来回尝试了不同的东西,我无法做到正确。也就是我只有getwarning initialization makes pointer from integer
之类的……怎么办?