WinPcap里面遇到的一个问题

wangyanchao151 2014-03-10 04:40:38
这是在学习“保存数据包到堆文件”时遇到的,这是WinpPcap中文手册里的源程序。下面是截取的一段程序:
main(int argc, char **argv)
{

pcap_if_t *alldevs;

pcap_if_t *d;

int inum;

int i=0;

pcap_t *adhandle;

char errbuf[PCAP_ERRBUF_SIZE];

pcap_dumper_t *dumpfile;

/* 检查程序输入参数 */

if(argc != 2)

{

printf("usage: %s filename", argv[0]);

return -1;

}

我把程序运行到这里就出错了,这里的argc值明明是1,为什么会是2呢?
请知情的给我解答一下哈~
...全文
236 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
__cc__ 2014-03-12
  • 打赏
  • 举报
回复
引用 4 楼 wangyanchao151 的回复:
昨天搞定了,那第二个参数确实有要求,要么是文件名,要么是适配器的具体名称,实际情况实际分析。谢谢你呀
别光谢,给分啊
wangyanchao151 2014-03-12
  • 打赏
  • 举报
回复
昨天搞定了,那第二个参数确实有要求,要么是文件名,要么是适配器的具体名称,实际情况实际分析。谢谢你呀
__cc__ 2014-03-12
  • 打赏
  • 举报
回复
引用 2 楼 wangyanchao151 的回复:
大神,第二的参数是可以随便写的吗?我写filename之后,这段可以通过,但是后面还是会出现问题呀
我晕,第二个参数传入的是文件名,肯定是程序要求的输入文件,格式之类的都有要求,怎么能随便写。。。。
__cc__ 2014-03-11
  • 打赏
  • 举报
回复
引用 楼主 wangyanchao151 的回复:
这是在学习“保存数据包到堆文件”时遇到的,这是WinpPcap中文手册里的源程序。下面是截取的一段程序: main(int argc, char **argv) { pcap_if_t *alldevs; pcap_if_t *d; int inum; int i=0; pcap_t *adhandle; char errbuf[PCAP_ERRBUF_SIZE]; pcap_dumper_t *dumpfile; /* 检查程序输入参数 */ if(argc != 2) { printf("usage: %s filename", argv[0]); return -1; } 我把程序运行到这里就出错了,这里的argc值明明是1,为什么会是2呢? 请知情的给我解答一下哈~
命令行调用程序,都会把程序作为第一个参数, 譬如调用test.exe filename 在test.exe接受的argc是等于2,第一个参数是test.exe,第二个参数是filename
wangyanchao151 2014-03-11
  • 打赏
  • 举报
回复
大神,第二的参数是可以随便写的吗?我写filename之后,这段可以通过,但是后面还是会出现问题呀

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧