c语言字符指针相减的问题

EaseCreator 2019-07-21 02:41:43
在用packet32编写的arp欺骗中,有一处字符类型的指针相减乘了2,请问是为什么啊,字符类型的指针相减后不是不用乘以元素所占的字节数么(因为char类型就占一个字节),各位大神们,菜鸟一个啊 char *name1,name2; char adapter_name[2048]; char adapter_list[10][1024]; if(PacketGetAdapterNames((char*)adapter_name, &adapter_length)==FALSE) { printf("PacketGetAdapterNames error:%d\n",GetLastError()); return -1; } name1=adapter_name; name2=adapter_name; i = 0; while((*name1!='\0') || (*(name1-1)!='\0')) { if(*name1=='\0') { memcpy(adapter_list[i],name2,2*(name1-name2)); name2=name1+1; i++; } name1++; }
...全文
170 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
NorZ 2019-07-22
不知道原理,需要联系上下文代码看看 adapter_name 的数据排列和 adapter_list 的使用方式
你可以把 adapter_name 打印出来,看看每次到底拷贝了些什么过去
  • 打赏
  • 举报
回复
EaseCreator 2019-07-21
大佬们请教啊,,,,,
  • 打赏
  • 举报
回复
发帖
其它技术问题

3859

社区成员

C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
帖子事件
创建了帖子
2019-07-21 02:41
社区公告
暂无公告