我想知道,GetComputerName 的正确用法是什么? .应该是吧
TCHAR computerName[1024 + 1];
DWORD size = 1024;
GetComputerName(computerName, &size);
或
TCHAR computerName[1024];
DWORD size = 1024;
GetComputerName(computerName, &size);
最佳答案
lpnSize
参数中传递的大小反射(reflect)了缓冲区中的可用空间量,包括空终止符的空间。您的任何一个语句都可以工作,因为在第一个语句中,您只是分配了比您所说的可用字节多一个字节。
您可能想要使用 MAX_COMPUTERNAME_LENGTH
,它远小于 1024。
TCHAR computerName[MAX_COMPUTERNAME_LENGTH + 1];
DWORD size = sizeof(computerName) / sizeof(computerName[0]);
GetComputerName(computerName, &size);
关于c++ - 正确使用 GetComputerName - 我是否需要为空字符保留额外的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4721429/