gpt4 book ai didi

c++ - 使用 stringstream 将 pid_t 转换为 const char*

转载 作者:搜寻专家 更新时间:2023-10-31 01:14:17 25 4
gpt4 key购买 nike

我想将进程 pid 转换为 const char* 但下面不起作用:

            std::ostringstream str_pid;
str_pid << getpid();
const char * cstr_pid = str_pid.str().c_str();

它大部分时间都有效,但有时会产生错误的结果。显然我做错了什么。有什么想法吗?

最佳答案

cstr_pid 将是一个悬挂指针,因为 str_pid.str() 返回的临时 std::string 在赋值后被销毁cstr_pid。创建 str_pid.str() 返回值的拷贝:

const std::string my_pid(str_pid.str());

然后在需要 const char* 时使用 my_pid.c_str()

关于c++ - 使用 stringstream 将 pid_t 转换为 const char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11563552/

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