在我的代码中一些地方,我打印调试消息是这样的:`std :: string(strerror(errno))`危险吗?
int ret = getLinkSpeed(device.getSysName(), linkSpeed);
if (ret < 0)
{
logDebug("Failed to obtain port speed for this device. Error: " + std::string(strerror(errno)));
}
从documentation它并不完全清楚,如果字符串错误在一定条件下返回0(这将导致我的代码崩溃)。有谁知道它是否安全?
根据其linux手册页:“在某些系统上,如果错误编号未知,strerror()将返回NULL。” – 2010-06-08 10:29:05