如何从 int 转换为 char*?

2024-01-06

我知道的唯一方法是:

#include <sstream>
#include <string.h>
using namespace std;

int main() {
  int number=33;
  stringstream strs;
  strs << number;
  string temp_str = strs.str();
  char* char_type = (char*) temp_str.c_str();
}

但有没有什么方法可以减少打字次数呢?


  • 在 C++17 中,使用std::to_chars https://en.cppreference.com/w/cpp/utility/to_chars as:

    std::array<char, 10> str;
    std::to_chars(str.data(), str.data() + str.size(), 42);
    
  • 在 C++11 中,使用std::to_string http://en.cppreference.com/w/cpp/string/basic_string/to_string as:

    std::string s = std::to_string(number);
    char const *pchar = s.c_str();  //use char const* as target type
    
  • 在 C++03 中,你所做的一切都很好,除了使用const as:

    char const* pchar = temp_str.c_str(); //dont use cast
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 int 转换为 char*? 的相关文章

随机推荐