Posted By: dzemen () on 'CZprogram' Title: Re: gethostid Date: Thu Jan 17 12:21:33 2002 > Zdar. > Jak ziskam v c (nebo c++) ip adresu stroje, na kterym je prave spustenej muj > > program? Uz sem zkousel gethostid(), ale tu promennou typu long, co mi to > vrati, mi to vzdycky vypise jako 0, coz je nanic. Pritom gethostname() mi > spravne vypise jmeno stroje. > Dik, Houmles Je to sice v Delphi, ale nemel by byt problem to prepsat do c++, ty fce a struktury se jmenujou stejne (aspon myslim). function LocalIP: String; type TaPInAddr = Array[0..10] of PInAddr; PaPInAddr = ^TaPInAddr; var phe: PHostEnt; pptr: PaPInAddr; Buffer: Array[0..63] of Char; I: Integer; GInitData: TWSAData; begin WSAStartup($101, GInitData); Result := ''; GetHostName(Buffer, SizeOf(Buffer)); phe := GetHostByName(buffer); if phe = nil then Exit; pPtr := PaPInAddr(phe^.h_addr_list); I := 0; while pPtr^[I] <> nil do begin Result := inet_ntoa(pptr^[I]^); Inc(I); end; WSACleanup; end; Tohle by tusim melo dat tu posledni (viz vnitrek while cyklu). Ale vetsinou ma stroj stejne jenom 1, takze je to fuk. Dzemen.