问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用C语言编程得到本地主机得IP和主机名?

发布网友 发布时间:2022-04-22 07:40

我来回答

2个回答

热心网友 时间:2022-06-17 21:58

c语言本身是不提供的。

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

//列子

#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=0;i<7;i++) 
{fgets(temp,80,fp); /*跳过一些行*/ 
/*printf("%s\n",temp); */} 
fgets(temp,80,fp); 
i=0;j=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"); 

getch(); 
}

在Linux下

#include <stdio.h>;  
#include <sys/types.h>;  
#include <sys/socket.h>;  
#include <sys/ioctl.h>;  
#include <netinet/in.h>;  
#include <net/if.h>;  
#include <net/if_arp.h>;  
#include <arpa/inet.h>;  
#include <errno.h>;  
      
#define ETH_NAME        "eth0"  
      
int main()  
{  
        int sock;  
        struct sockaddr_in sin;  
        struct ifreq ifr;  
              
        sock = socket(AF_INET, SOCK_DGRAM, 0);  
        if (sock == -1)  
        {  
                perror("socket");  
                return -1;                  
        }  
              
        strncpy(ifr.ifr_name, ETH_NAME, IFNAMSIZ);  
        ifr.ifr_name[IFNAMSIZ - 1] = 0;  
              
        if (ioctl(sock, SIOCGIFADDR, &ifr) < 0)  
        {  
                perror("ioctl");  
                return -1;  
        }  
      
        memcpy(&sin, &ifr.ifr_addr, sizeof(sin));  
        fprintf(stdout, "eth0: %s\n", inet_ntoa(sin.sin_addr));  
              
        return 0;  
}

热心网友 时间:2022-06-17 21:58

#include<winsock.h>

gethostname,
gethostbyname,
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机为啥投屏不到电视上 投屏到电视机上为什么不行了呢? 什么是超买状态,如何看出—个股票处于超买状态了? 用电脑怎么弄表格在电脑上制作表格怎么制作 ...明细帐、财务报表,带公式,EXCELE格式的文件,能发给我吗谢_百度... 电脑出入库表格怎么做作为一个仓管员excel表格如何做出入库存库存电脑会... 你好,可以发下库存管理的EXCEL表格么?衣服面料辅料都要统计,谢谢!麻烦... 电脑怎么制作电子表格如何用电脑制作表格 你好,能给我发一份出纳excel 做账模板现金流水账表格 芝麻香鸡有什么值得推荐的做法? c语言怎样编写显示本机ip地址的程序 请问 , 用c语言怎样获取ip地址啊 谢谢了 如何用C语言获得本机IP地址 红叶在什么季节开放? 关于红叶的诗歌 红叶的诗词 苹果6sp冬天总是自动重启 赞美红叶的经典诗句 国内赏红叶最佳地点 时间 中国赏红叶有哪几个地方... 红叶唯美的句子 红叶代表什么意思 赞美红叶的句子有哪些 红叶的别称和雅称 红叶的描写 红叶有几种? 描写红叶的句子 红叶的古诗 赞美红叶的诗句有哪些 红叶的象征意义? 空调开到多少度最合适最省电 C语言查询本机ip地址的程序 用C语言编程显示主机IP地址! C语言能获取当前IP吗 用C语言编写程序如何获得外网的IP的地址 如何用c语言实现从某个网段中逐个取出ip地址 求C语言编程实现获取网卡地址 如何用c语言实现从一个文件中提取ip地址,mac地址... 编程:C语言编程取得本机ip地址 c语言中IP地址的类型转换 苹果6sp总是重复开关机怎么回事 ps表格怎么画 怎样做鸡胗 浙江工业大学排名 鸡胗可以怎么炒? 浙江的大学排名 浙江工业大学排名? 浙江工业大学排名全国第几 浙江工业大学全国400所大学的真实排名 熟鸡胗怎么做好吃 浙江工业大学是几本?