相关函数
#include <unistd.h>
int gethostname(char *name, size_t name);
#include <sys/utsname.h>
int uname(struct utsname *name);
相关结构
struct utsname
{
char sysname[];
char nodename[];
char release[];
char version[];
char machine[];
}
例子
int main(void)
{
char computer[256];
struct utsname uts;
if (gethostname(computer, 255) != 0 || uname(&uts) != 0) {
fprintf(stderr, "can not get host information\n");
return 1;
}
printf("host name: %s\n", computer);
printf("system name: %s\n", uts.sysname);
printf("hardware : %s\n", uts.machine);
printf("nodename : %s\n", uts.nodename);
printf("release: %s\n", uts.release);
printf("version: %s\n", uts.version);
return 0;
}
打印结果
host name:XXX
system name: Linux
hardware : i686
nodename : ubuntu
release: 2.6.31-14-generic
version: #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009