在 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)度。返回值:
gethostname()
函數(shù)返回 0。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ò)誤信息。