本帖最后由 VisualEleven 于 2012-05-25 23:07:09 编辑

解决方案 »

  1.   

    str.Format("%u.%u.%u.%u",p[0],p[1],p[2],p[3]);
      

  2.   

    str.Format("%u.%u.%u.%u",p[0],p[1],p[2],p[3]);%3u,表示要占三个位置,不足的空填充  效果:192.168.  1.  1
    %03u,占三个位置,不足的以0填充 效果:192.168.001.001
      

  3.   

    不是有个函数值转换成点分十进制格式吗1.int inet_aton(const char *cp, struct in_addr *inp);2.char * inet_ntoa(struct in_addr in) ;    inet_aton将点分十进制IP地址字符串转换成32为数字表示的IP地址存入in_addr所指结构中。地址有效返回非0值,无效返回0。    inet_ntoa将一个32位数字表示的IP地址转换成点分十进制IP地址字符串