<分区>
我正在尝试将计算机名称存储在名为 computerName 的字符串中。当运行 gethostname() 时,程序退出并显示退出状态 -1。我想弄清楚如何处理这个。有没有办法阻止程序完全退出,有没有办法发现出错的地方。 gethostname() 的文档说它的错误是 EFAULT、EINVAL、ENAMETOOLONG 和 EPERM。我不确定如何捕获它们中的任何一个。
问题不在于为什么会发生错误,而在于如何处理它。
错误发生的原因是因为我在一个有明显限制的在线ide上运行代码,并且这个错误不会发生在其他机器上。我尝试在 try and catch(...) 语句中围绕代码,但它仍然显示 exit_status -1。
void GetComputerName()
{
char hostname[1024];
gethostname(hostname, 1024);
computerName = hostname;
}
//and then outputting
std::cout << computerName << std::endl;
预期结果 Linux-1994//或任何计算机名称