[英]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.