Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1466705
  • 博文数量: 842
  • 博客积分: 12411
  • 博客等级: 上将
  • 技术积分: 5772
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-14 14:43
文章分类

全部博文(842)

文章存档

2013年(157)

2012年(685)

分类: LINUX

2013-03-22 15:57:37

一.uname()函数

1.使用uname函数来实现获取系统信息

1>函数原型

#include

int uname(struct utsname *buf);

2>函数功能:

该函数会告诉我们系统的相关信息。

3>函数返回值

函数返回信息存放在struct utsname结构体buf中,当函数成功时会返回0,当发生错误时会返回-1。

4>struct utsname的定义如下:

#include

struct utsname{

    char sysname[SYS_NMLN];

    char nodename[SYS_NMLN];

    char release[SYS_NMLN];

    char version[SYS_NMLN];

    char machine[SYS_NMLN];

    char __domainname[SYA_NMLN];

};

结构体成员描述如下:

? sysname:表示正在使用的操作系统。对于Linux而言,这个值为“Linux”。

? nodename: 表示设备的主机名

? release: 操作系统发布号

? version: 操作系统版本号

? machine 代表主机的硬件类型,例如“i686”代表一个奔腾CPU.

? domainname 返回主机的域名

2.程序实例:

#include

#include

#include

#include

int main(int argc,char **argv)

{

    int s;

    struct utsname u_name;

    s = uname(&u_name);

    if (s < 0){

        printf(“uname()failed\n”);

        exit(1);

    }

    printf(“sysname[]=%s\n”,u_name.sysname);

    printf(“nodename[]=%s\n”,u_name.nodename);

    printf(“release[]=%s\n”,u_name.release);

    printf(“version[]=%s\n”,u_name.version);

    printf(“machin[]=%s\n”,u_name.machine);

    printf(“domainname[]=%s\n”,u_name.__domainname); 
     
        return 0;

}

二.gethostname和getdomainname函数

通过这两个函数可以实现获得设备的主机名和域名

1.gethostname()函数

1>函数功能:

可以用来确定当前的主机名。

2>函数原型:

#include

int gethostname(char *name,size_t len);

3>函数形参

? name:接收缓冲区。

? len:接收缓冲区的最大长度

4>函数返回值

如果函数执行成功,则返回零;如果发生错误则返回-1。错误号存放在外部变量errno中。

2.getdomainname()函数

1>函数功能

可以允许主机获得程序正在运行的主机的NIS域名。

2>函数原型

#include

int getdomainname(char *name,size_t len);

3>函数形参

? name:接收缓冲区。

? len:接收缓冲区的最大长度

4>函数返回值

如果函数执行成功,则返回零;如果发生错误则返回-1。错误号存放在外部变量errno中。

3.函数实例

#include

#include

#include

#include

#include

int main(int argc,char **argv)

{

    int s;

    char buf[32];

    s = gethostname(buf,sizeof(buf));

    if( s < 0){

        printf(“gethostname:failed:\n”);

        exit(1);
    
}
    
printf(“host name:%s\n”,buf);
    
s = getdomainname(buf,sizeof(buf));
    
if(s <0){

        printf(“getdomainname()failed\n”);

        exit(1);
    
}
    
printf(“the domain name=%s\n”,buf);
    
return 0;

}

阅读(677) | 评论(0) | 转发(0) |
0

上一篇:offset宏的讲解

下一篇:第七章 进程调度

给主人留下些什么吧!~~