9.6 gethostname()
システムの名称を返します。
9.6.1 書式
#include <sys/unistd.h>
int gethostname(char *name, size_t len);
9.6.2 解説
あなたのシステムには名前がついています。みんなそうです。これは、今まで話してきた他のネットワーク的なものよりも、若干 Unix 的なものですが、それでも使い道はあります。
例えば、ホスト名を取得してから gethostbyname()
を呼び出すと、IP アドレスを知ることができます。
パラメータ name
はホスト名を格納するバッファを指し、len
はそのバッファのサイズ(バイト)を表します。gethostname()
はバッファの終端を上書きせず(エラーを返すかもしれませんし、単に書き込みを止めるかもしれません)、バッファに文字列のスペースがある場合は NUL
-ターミネイトを行います。
9.6.3 返り値
成功した場合は 0
を、エラーの場合は -1
を返す(それに応じて errno
が設定されます)。
9.6.4 例
char hostname[128];
gethostname(hostname, sizeof hostname);
printf("My hostname: %s\n", hostname);