win32,C++,用inet_addr来判断字符串是否是有效ip格式的问题

flamkuavos 2012-03-24 03:20:24

/****************************************************************************
判断一个字符串是否为有效的IPv4格式字符串
str为要判断的字符串
true是,false不是
****************************************************************************/
bool strisipv4(char* str)
{
ULONG ret = INADDR_NONE;
struct hostent *hostname = NULL;

ret = inet_addr(str);
if(ret == INADDR_NONE)
{
return false;
}
return true;
}


我用"1.1.1"传入,ret等于16777473,不是INADDR_NONE,所以"1.1.1"也被认为是有效的ip了,请教是怎么回事啊

没有点数了,只能发到这里,请见谅
...全文
282 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
likejieicy 2012-03-29
  • 打赏
  • 举报
回复
至于怎么搞。。。你可以查看下 inet_addr 的返回值 16777473到底是个什么鸟玩意

[Quote=引用楼主 的回复:]
C/C++ code

/****************************************************************************
判断一个字符串是否为有效的IPv4格式字符串
str为要判断的字符串
true是,false不是
************************************************************……
[/Quote]
likejieicy 2012-03-29
  • 打赏
  • 举报
回复
没见过。。。只见过用regex的。。。

[Quote=引用 3 楼 的回复:]

不止一个地方看到人家用呢
[/Quote]
flamkuavos 2012-03-28
  • 打赏
  • 举报
回复
不止一个地方看到人家用呢
likejieicy 2012-03-28
  • 打赏
  • 举报
回复
这个函数 是谁告诉你好用的。。。判断IP是否合法 貌似都用 regex。。。
flamkuavos 2012-03-28
  • 打赏
  • 举报
回复
为神马?

588

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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