Linux下gethostname的返回值含義

小樊
82
2024-08-29 08:47:50

在 Linux 系統(tǒng)下,gethostname() 函數(shù)用于獲取當(dāng)前系統(tǒng)的主機(jī)名

函數(shù)原型如下:

#include <unistd.h>

int gethostname(char *name, size_t len);

參數(shù)說(shuō)明:

  • name:一個(gè)字符數(shù)組指針,用于存儲(chǔ)主機(jī)名。
  • len:要檢索的主機(jī)名的最大長(zhǎng)度。

返回值:

  • 成功時(shí),gethostname() 函數(shù)返回 0。
  • 失敗時(shí),函數(shù)返回 -1,并設(shè)置 errno 以指示錯(cuò)誤。

以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用 gethostname() 函數(shù):

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

int main() {
    char hostname[HOST_NAME_MAX + 1];
    int result = gethostname(hostname, sizeof(hostname));

    if (result == 0) {
        printf("Hostname: %s\n", hostname);
    } else {
        perror("Error in gethostname");
    }

    return 0;
}

這段代碼將打印出當(dāng)前系統(tǒng)的主機(jī)名。如果在調(diào)用 gethostname() 時(shí)發(fā)生錯(cuò)誤,程序?qū)⑤敵鱿鄳?yīng)的錯(cuò)誤信息。

0