码迷,mamicode.com
首页 > 其他好文 > 详细

《APUE》第6章练习1

时间:2015-02-07 13:06:53      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

 问题:编写一个程序,它调用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\n", buf.sysname);
16     printf("nodename: %s\n", buf.nodename);
17     printf("release: %s\n", buf.release);
18     printf("version: %s\n", buf.version);
19     printf("machine: %s\n", buf.machine);
20     printf("domainname: %s\n", 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)

《APUE》第6章练习1

标签:

原文地址:http://www.cnblogs.com/fusae-blog/p/4278619.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!