簡體   English   中英

使用C語言的Linux機器的名稱服務器IP

[英]Name server IP of linux machine using C language

我必須使用C語言獲取系統的名稱服務器IP。我正在使用Linux計算機。

我努力了。

#include <stdio.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
 #include <sys/types.h>
#include <sys/param.h>
#include <sys/cdefs.h>

int main()
{
int res_init(void);
printf("_res.nscount %d\n",_res.nscount);
//printf("_res.nsaddr_list[0] %s\n",_res.nsaddr_list[0]);
return 0;
}

但是我將_res.nscount設為0我做錯了什么嗎?

您聲明了res_init()而不是調用它。 嘗試:

Int main() 
{
  res_init();
  /* ... */

但是,nsaddr_list [0]不是字符串,因此您將無法使用printf(“%s”)打印它。 您必須使用inet_ntoa()或類似方法將其sin_addr.s_addr值轉換為可打印的字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM