zoukankan      html  css  js  c++  java
  • linux获取主机信息


    linux中主机的信息通常存储在/etc/hosts中,我们可以通过函数 gethostent读取该文件的信息。





    注意返回的struct hostent 结构体对象的地址是一块静态缓冲区,这个静态缓冲区的地址是固定的,当多次调用gethostent的时候,后面调用

    会把前面缓冲区内容覆盖掉,多次读取返回的指针指向的缓冲区的内容是一致的,这有助于防止没有释放内存而导致的内存泄漏。

    1. #include<netdb.h>
    2. #include<stdio.h>
    3. void getHostent()
    4. {
    5. struct hostent* host1;
    6. host1 = gethostent();
    7. struct hostent* host2;
    8. host2 = gethostent();
    9. printf("host1:%x,host2:%x ",host1,host2);
    10. printf("h_name:%s ",host1->h_name);
    11. ///////
    12. }
    13. int main()
    14. {
    15. getHostent();
    16. return 0;
    17. }



    如果在调用gethostent的时候hosts文件没有打开,这个函数会打开该文件,如果要关闭该文件,可以使用endhostent函数:










  • 相关阅读:
    生成器笔记
    迭代器笔记
    hashilib_module
    Ubuntu操作及各种命令笔记
    python正则表达式2
    python正则表达式1
    python文件操作(with关键字)
    python文件操作
    python包
    python模块
  • 原文地址:https://www.cnblogs.com/ZhangJinkun/p/4570491.html
Copyright © 2011-2022 走看看