急急急, 关于DELPHI 调用gethostbyname的问题

greensleeve 2000-10-18 11:34:00
各位大哥哥,
我要用DELPHI取本机的IP
我是这样处理的
var
ipaddr:string;
hostname:PChar;
hh:PHostEnt;
begin
gethostname(hostname,20);
hh:=gethostbyname(hostname);
ipaddr:= hh^.h_addr^;
.....
但打印出的ipaddr是乱的
可是取hh结构中的h_name字段却可以取出我的机器的名字;
这是怎么回事呢?
执行了gethostname后hostname中却实有我机器的名字
执行了gethostbyname后其中的hh^.h_name也有我机器的名字,也就是说这两个函数都执行成功了


...全文
289 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lionheart 2000-10-19
  • 打赏
  • 举报
回复
是因为你没有新建PCHAR
var
ipaddr: pchar;
begin
getmem(ipaddr, 20)
try
gethostname(ipaddr, 20);
finally
freemem(ipaddr);
end;
end;
Lionheart 2000-10-19
  • 打赏
  • 举报
回复
是因为你没有新建PCHAR

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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