使用字符串流将pid_t转换为constchar*

convert pid_t to const char* with stringstream

本文关键字:转换 constchar pid 字符串      更新时间:2023-10-16

我想将进程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());

则在需要CCD_ 7时使用CCD_。