gpt4 book ai didi

c++ - 有条件地设置 std::string

转载 作者:太空狗 更新时间:2023-10-29 23:51:03 28 4
gpt4 key购买 nike

我有一个案例,我必须将 std::string 设置为 NULL。代码是这样的:
const std::string 变量 = "HOME";
const std::string str = getenv(variable.c_str());

问题是,如果 getenv() 没有找到环境变量,则返回 NULL,因为我们不能将 std::string 设置为 NULL 值,我们有给它分配一个空字符串。

一个选项是:
const std::string str = (getenv(variable.c_str()) == NULL ? "": getenv(variable.c_str()));
只是它调用了 getenv() 两次。

实现此结果的最佳做法是什么?

最佳答案

std::string string_from_char_array(const char* str)
{
return str ? str : "";
}

然后像这样调用它

const std::string str = string_from_char_array(getenv(variable.c_str()));

关于c++ - 有条件地设置 std::string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24185392/

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