| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「C ホスト情報」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
(ページの作成:「==C ホスト情報== [Programming C] ====gethostname==== #include <unistd.h> int gethostname(char *name, size_t namelen); *machine の network名を文字列…」)
 
1行目: 1行目:
 
==C ホスト情報==
 
==C ホスト情報==
[Programming C]
+
[[Programming C]]
  
 
====gethostname====
 
====gethostname====
  #include <unistd.h>
+
  #include &lt;unistd.h&gt;
 
  int gethostname(char *name, size_t namelen);
 
  int gethostname(char *name, size_t namelen);
  
10行目: 10行目:
 
*成功すると、0、それ以外は、-1を返す。
 
*成功すると、0、それ以外は、-1を返す。
  
  #include <unistd.h>
+
  #include &lt;unistd.h&gt;
  #include <stdio.h>
+
  #include &lt;stdio.h&gt;
  #include <stdlib.h>
+
  #include &lt;stdlib.h&gt;
 
   
 
   
 
  int main()  
 
  int main()  
27行目: 27行目:
 
====uname====
 
====uname====
 
   
 
   
  #include <sys/utsname.h>
+
  #include &lt;sys/utsname.h&gt;
 
  int uname(struct utsname *name);
 
  int uname(struct utsname *name);
  
53行目: 53行目:
 
|}
 
|}
  
  #include <sys/utsname.h>
+
  #include &lt;sys/utsname.h&gt;
  #include <stdio.h>
+
  #include &lt;stdio.h&gt;
  #include <stdlib.h>
+
  #include &lt;stdlib.h&gt;
 
  int main()
 
  int main()
 
  {
 
  {
71行目: 71行目:
  
 
====gethostid====
 
====gethostid====
  #include <unistd.h>
+
  #include &lt;unistd.h&gt;
 
  long gethostid(void);
 
  long gethostid(void);
 
*host computer が持つ一意の値を返す。
 
*host computer が持つ一意の値を返す。
  
  #include <unistd.h>
+
  #include &lt;unistd.h&gt;
  #include <stdio.h>
+
  #include &lt;stdio.h&gt;
  #include <stdlib.h>
+
  #include &lt;stdlib.h&gt;
 
   
 
   
 
  int main()
 
  int main()

2020年2月15日 (土) 08:01時点における版

C ホスト情報

Programming C

gethostname

#include <unistd.h>
int gethostname(char *name, size_t namelen);
  • machine の network名を文字列 name に書き込みます。
  • 文字列nameは、少なくとも namelen文字の長さを持つものとして扱われる。
  • 成功すると、0、それ以外は、-1を返す。
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

int main() 
{
  char computer[256];
    if ( gethostname(computer, 255) != 0 ) {
    printf("Can't get hostname.\n");
    exit(1);
  }
  printf("hostname : %s\n", computer);
  exit(0);
}

uname

#include <sys/utsname.h>
int uname(struct utsname *name);
  • host computer に対してさらに詳しい情報を得る。
member 説明
char sysname[] operationg system 名
char nodename[] host名
char release[] systemのrelease level
char version[] systemのversion 番号
char machine[] hardware の種類
#include <sys/utsname.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
  struct utsname uts;
  if ( uname(&uts) != 0 ) {    
    printf("Can't get information.\n");    
    exit(1);
  }
  printf("os name   : %s\n", uts.sysname );
  printf("host name : %s\n", uts.nodename );
  printf("release   : %s\n", uts.release );
  printf("version   : %s\n", uts.version );
  printf("machine   : %s\n", uts.machine );
}

gethostid

#include <unistd.h>
long gethostid(void);
  • host computer が持つ一意の値を返す。
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
  long hid = gethostid();

  printf("host id : %x\n", hid);
  exit(0);
}     

この本からの覚書。