2

ローカル ホストの名前を設定したい。sethostname() 関数を使用していますが、次のようなエラーが発生します。

error C3861: 'sethostname': identifier not found.

以下はコード スニペットです。

WSADATA wsa;
///Initialise winsock///
if (WSAStartup(MAKEWORD(2,2),&wsa) != 0)
   {
      //Socket Initialization Failed///
      exit(EXIT_FAILURE);
   }
 char setname[128]="Ayesha-PC";
 sethostname(setname, sizeof (setname));
4

1 に答える 1

4

Windows は、ホスト名の設定に独自のメカニズムを使用します。使用する関数は または のいずれSetComputerNameSetComputerNameExです。

変更は次回の再起動時に有効になります。を使用して再起動を要求できますExitWindowsEx

これらのルーチンを呼び出すには管理者権限が必要です。再起動が必要な理由は、多くの Windows サブシステムが起動後にホスト名をチェックせず、古い名前を使用し続けるためです (これは Linux でも同様です)。DNSドメイン内にも影響を与える可能性があります。

于 2013-04-11T12:31:51.107 に答える