gpt4 book ai didi

c++ - `std::string(strerror(errno))` 危险吗?

转载 作者:太空狗 更新时间:2023-10-29 19:39:00 31 4
gpt4 key购买 nike

在我的代码中的某些地方,我会像这样打印调试消息:

int ret = getLinkSpeed(device.getSysName(), linkSpeed);
if (ret < 0)
{
logDebug("Failed to obtain port speed for this device. Error: " + std::string(strerror(errno)));
}

来自documentation strerror 在某些情况下是否会返回 0(这会导致我的代码崩溃)并不完全清楚。有谁知道它是否安全?

最佳答案

为什么不写一个函数来做到这一点:

string ErrStr() {
char * e = strerror(errno);
return e ? e : "";
}

这很容易使用, self 记录,可以适应重新格式化输出并涵盖 strerror() 可能返回 NULL 的可能性(我不知道它是否可以)。

关于c++ - `std::string(strerror(errno))` 危险吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2995728/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com