【问题标题】:How to Pass an integer value in to (const char *str) function argument? [duplicate]如何将整数值传递给 (const char *str) 函数参数? [复制]
【发布时间】:2012-08-29 19:51:52
【问题描述】:

可能重复:
How to convert a number to string and vice versa in C++
how to convert from int to char*?

我得到一个整数的用户输入,我需要将它们传递给一个参数 - Output(char const* str);这是一个类构造函数。你能告诉我我该怎么做吗?谢谢

【问题讨论】:

  • 将整数转换为字符串,使用lexical_cast
  • 如果您正在接受用户输入,为什么不简单地将其作为字符串呢?无需转换。

标签: c++


【解决方案1】:

在 C++11 中:

dodgy_function(std::to_string(value).c_str());

在旧语言版本中:

std::ostringstream ss;
ss << value;
dodgy_function(ss.str().c_str());

// or
dodgy_function(boost::lexical_cast<std::string>(value).c_str());

// or in special circumstances
char buffer[i_hope_this_is_big_enough];
if (std::snprintf(buffer, sizeof buffer, "%d", value) < sizeof buffer) {
    dodgy_function(buffer);
} else {
    // The buffer was too small - deal with it
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    相关资源
    最近更新 更多