uname用于获取系统信息,如操作系统名称、内核版本、硬件架构等。
1.头文件
#include <sys/utsname.h>
2.函数原型
int uname(struct utsname *buf);
3.参数
*buf:一个指向 struct utsname 结构体的指针。该结构体用于存放系统信息。
下面来介绍一下struct utsname 结构体:
struct utsname {
   char sysname[];    /* 操作系统名称*/
   char nodename[];   /*网络节点的主机名*/
   char release[];      /*操作系统版本*/
   char version[];      /*操作系统版本号*/
   char machine[];    /*硬件名称*/
   #ifdef _GNU_SOURCE
      char domainname[];  /*网络域名*/
   #endif
};
4.返回值
如果成功,uname 返回 0。如果出错,返回 -1,并设置 errno 以指示错误原因。
5.示例:(使用uname查看系统基本信息)
#include <stdio.h>
#include <sys/utsname.h>
#include <errno.h>
int main() {
    struct utsname buf;
    if (uname(&buf) == -1) {
        perror("uname");
        return 1;
    }
    printf("System Name: %s\n", buf.sysname);
    printf("Node Name: %s\n", buf.nodename);
    printf("Release: %s\n", buf.release);
    printf("Version: %s\n", buf.version);
    printf("Machine: %s\n", buf.machine);
    return 0;
}
6.查看测试结果
System Name: Linux
Node Name: ubuntu
Release: 6.8.0-40-generic
Version: #40~22.04.3-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 30 17:30:19 UTC 2
Machine: x86_64

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Powered by Discuz! X3.5  © 2001-2013 Comsenz Inc.