linux c - 获取服务器主机名?

Joe*_*Joe 6 c

有谁知道获取linux服务器主机名的函数?我真的不想包含任何头文件或编译其他库,希望默认情况下内置一个函数.我是新来的c :)

Ala*_*ier 21

喜欢gethostname()

这是运行应用程序的计算机的名称.

或者阅读

/proc/sys/kernel/hostname
Run Code Online (Sandbox Code Playgroud)

更新

简单的例子

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(void) {

    char hostname[1024];
    gethostname(hostname, 1024);

    puts(hostname);

    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)


小智 6

基于 Alain Pannetier 的答案,您可以通过使用 HOST_NAME_MAX 来节省一些字节:

#include <limits.h>
...
  char hostname[HOST_NAME_MAX+1];
  gethostname(hostname, HOST_NAME_MAX+1);
...
Run Code Online (Sandbox Code Playgroud)