inet_ntoa连续调用两次产生的返回值相同的原因
操作方法
- 01
inet_ntoa() 返回一个字符指针,它指向一个定义在函数inet_ntoa() 中的static 类型字符串。所 以每次你调用inet_ntoa(),都会改变最后一次调用inet_ntoa() 函数时得到的结果。 比如: char *a1, a2; a1 = inet_ntoa(ina1.sin_addr); /* this is 166.111.69.52 */ a2 = inet_ntoa(ina2.sin_addr); /* this is 166.111.69.53 */ printf(“address 1: %s ”,a1); printf(“address 2: %s ”,a2); 将会显示出: address 1: 166.111.69.53 address 2: 166.111.69.53 如果你想把结果保存下来,那么你可以在每次调用inet_ntoa() 后调用strcpy() 将结果存到另外 一个你自己的字符串中。 (审核的不要说什么“缺乏文字描述、关键步骤缺少配图或存在图文不符情况”了,这种内容不可能有那些东西的。)
赞 (0)