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