我想设置本地主机的名称。我正在使用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));

最佳答案

Windows使用它自己的机制来设置主机名。您使用的函数是 SetComputerName SetComputerNameEx

更改将在下次重新启动时生效。您可以使用 ExitWindowsEx 请求重启。

您需要具有管理员特权才能调用这些例程,重新启动要求的原因是,因为许多Windows子系统在启动后将不检查主机名,而将继续使用旧名称(这在Linux中是类似的)。它也可能对域中的DNS产生影响。

10-06 02:03