• 《APUE》第6章练习1


     问题:编写一个程序,它调用uname并输出utsname结构中的所有字段,并将输出与uname(1)命令的输出结构做比较。

    我本来以为utsname结构也跟passwd结构一样,也有那三个函数来获取整个结构的内容,但是看了头文件后才发现,头文件里面除了结构体的定义就只有这个uname函数了。

    我用逐项输出成员的内容来模仿uname命令,我不知道有没有可以用循环的方式来输出一个结构的内容。

    下面给出我的代码:

     1 /* 调用uname并输出utename结构中的所有字段 */
     2 #include <sys/utsname.h>
     3 #include <stdio.h>
     4 #include <stdlib.h>
     5 
     6 #define MAX 200
     7 
     8 int main(void)
     9 {
    10     struct utsname buf;
    11 
    12     if (uname(&buf) == -1)
    13         exit(1);
    14     
    15     printf("system name: %s
    ", buf.sysname);
    16     printf("nodename: %s
    ", buf.nodename);
    17     printf("release: %s
    ", buf.release);
    18     printf("version: %s
    ", buf.version);
    19     printf("machine: %s
    ", buf.machine);
    20     printf("domainname: %s
    ", buf.__domainname);
    21 
    22     return 0;
    23 }
    View Code

    这是跟uname -a 比较的结果:

    00

    就差了几个X86_64和GNU/Linux,那个domainname是关于网络的我也不太明白。

    ps:在网上搜怎么man一个头文件的时候,我以外地发现了vim的两个好命令!1.用gf可以进入头文件查看文件内容;2.用shift+k就可以查看某函数的说明(即man func)

  • 相关阅读:
    go 基础(二)
    go 基础(一)
    小程序生成带有多参数的太阳码
    php 3.2 生成压缩文件,并下载
    layer confirm 三种选择按钮
    无限级分类,抓取某元素的所有下级id
    bootstrap 自带字体颜色
    ajaxSubmit 页面生成的html 中含有表单提交表单方式
    php 保留2位小数
    日期范围
  • 原文地址:https://www.cnblogs.com/fusae-blog/p/4278619.html
Copyright © 2020-2023  润新知