在linux下c编程怎么得到主机名

在linux下c编程怎么得到主机名,第1张

c语言本身是不提供的。

在windows下使用系统命令或windows.h

//列子

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

#include "stdio.h"

#include "conio.h"

main()

{

int i,j

char ip[20]

char temp[100]

char ch='\0'

FILE *fp

system("ipconfig >d:\\myip.txt")

if ((fp=fopen("d:\\myip.txt","r"))==NULL)

{

printf("the file can not open:\nPress any key to exit:")

getch()

exit(1)

}

for (i=0i<7i++)

{fgets(temp,80,fp)/*跳过一些行*/

/*printf("%s\n",temp)*/}

fgets(temp,80,fp)

i=0j=0

while (temp[i++]!=':')

while (temp[i]!='\n')

ip[j++]=temp[i++]

ip[j]=0

printf("IP=%s\n",ip)

fclose(fp)

system("del d:\\myip.txt")

1、gethostbyname()函数属于WinSock API库,而在使用WinSock API之前,必须调用WSA-Startup函数,只有该函数成功返回(表示应用程序与WinSock库成功地建立起连接),应用程序才可以调用其他Windows Sockets DLL中的函数。当程序将要结束时,又必须调用WSACleanup 函数进行清理工作,以便释放其占用的资源。WSACleanup 函数用来结束Windows Sockets DLL的使用。

2、例程:

char hostname[256]

    int iRet = 0

    WSADATA wsaData

    if (WSAStartup(MAKEWORD(2,1),&wsaData)) //调用Windows Sockets DLL

    { 

        printf("Winsock无法初始化!\n")

        WSACleanup()

        return 0

    }

    memset(hostname, 0, 256)

    iRet = gethostname(hostname, sizeof(hostname))

    if(iRet != 0 )

    {

        printf( "get hostname error:%d\n", iRet)

    }

    printf("%s\n", hostname)

今天阿驹电脑安全就给大家粗浅地说一下如何用VC++编程获取IP以及主机名。首先告诉大家,可以通过gethostname()和gethostbyname()函数来获取计算机的主机名和IP地址。两个函数的语法格式如下:gethostname()int gethostname(char FAR * name, int namelen)name:表示返回主机名。namelen:表示字符串name的大小。获取IP地址的代码char computername[128]CString strif(gethsotname(computername,128) == 0) //获得主机名{ struct hostent * phostint i=0, j, h_len=4phost = gethostbyname(computername)m_hostname = computernamefor( j=0, j0) str+=”.”m_addr.Format(“%u”, (unsigned int)((unsigned char*)->h_addr_list[i][j] ))str+=m_addr}}m_ipaddress = strUpdataData(FALSE)


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/53180.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-25
下一篇2023-02-25

发表评论

登录后才能评论

评论列表(0条)

    保存