题目:用c语言(使用linux下的库文件)编写一个应用程序实现以下功能,
创建一个线程,在线程中获取本机IP地址,并在屏幕上输出
最好能有运行成功截图
创建一个线程,在线程中获取本机IP地址,并在屏幕上输出
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- 喝茶品人生 2023-09-06 14:21关注
#include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <sys/socket.h> #include <arpa/inet.h> #include <ifaddrs.h> void *getIPAddress(void *arg) { struct ifaddrs *ifaddr, *ifa; char ip[INET_ADDRSTRLEN]; if (getifaddrs(&ifaddr) == -1) { perror("getifaddrs"); exit(EXIT_FAILURE); } for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { if (ifa->ifa_addr == NULL || ifa->ifa_addr->sa_family != AF_INET) { continue; } struct sockaddr_in *addr = (struct sockaddr_in *)ifa->ifa_addr; inet_ntop(AF_INET, &(addr->sin_addr), ip, INET_ADDRSTRLEN); printf("Interface: %s\t IP Address: %s\n", ifa->ifa_name, ip); } freeifaddrs(ifaddr); return NULL; } int main() { pthread_t thread; if (pthread_create(&thread, NULL, getIPAddress, NULL) != 0) { perror("pthread_create"); exit(EXIT_FAILURE); } if (pthread_join(thread, NULL) != 0) { perror("pthread_join"); exit(EXIT_FAILURE); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 robocopy文件复制
- ¥15 unity安卓打包出现问题
- ¥15 爱快路由器端口更改错误导致无法访问
- ¥20 安装catkin时遇到了如下问题请问该如何解决呢
- ¥15 VAE模型如何输出结果
- ¥15 编译python程序为pyd文件报错:{"source code string cannot contain null bytes"
- ¥20 关于#r语言#的问题:广义加行模型拟合曲线后如何求拐点
- ¥15 fluent设置了自动保存后,会有几个时间点不保存
- ¥20 激光照射到四象线探测器,通过液晶屏显示X、Y值
- ¥50 数据库开发问题求解答