|
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 |
|