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 回答