c++ - 在一行中获取整数的 (const char*) 表示

标签 c++

我正在开发一个使用自制报告库的软件,它只接受 (const char *) 类型作为参数:

ReportInfo(const char* information);
ReportError(const char* error);
[...]

当我尝试报告整数的值时,我想以 const char* 类型获得这些整数的表示。 我可以那样做:

int value = 42;
string temp_value = to_string(value);
const char *final_value= temp_value.c_str();
ReportInfo(final_value);

如果我能在不实例化 temp_value 的情况下做到这一点,那就太好了。 我试过这个:

int value = 42;
const char* final_value = to_string(value).c_str();
ReportInfo(final_value);

但在这种情况下 final_value 等于 '\0'。

知道怎么做吗?

最佳答案

你可以试试

ReportInfo(to_string(value).c_str());

因为在 ReportInfo 返回之前临时文件不会被销毁。

关于c++ - 在一行中获取整数的 (const char*) 表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31828104/

相关文章:

C++ 和 NTFS 文件 : pathname VS opening

c++ - 成员函数上的 std::is_function?

c++ - 如何在 C++ 中使用可以具有多种数据类型的单个变量

c++14 static constexpr auto 与 odr 用法

c++11 全局初始化顺序和thread_local

c++ - 如何从 ULONGLONG 毫秒创建 SYSTEMTIME 结构?

c++ - 使用 cmake 在项目属性(eclipse)中添加定义

c++ - 添加到 std::vector 的中间

c++ - 有没有办法提前测试Windows exe是否会因为缺少dll而无法加载?

c++ - 重载模板函数的 constexpr 别名