将无符号 int 转换为 char 数组。伊托亚的替代品?

Gan*_*ira 5 c++ arrays char itoa unsigned-integer

我有一个关于无符号整数的问题。我想将 unsigned int 转换为 char 数组。为此,我使用 itoa。问题是 itoa 可以正常处理 int,但不能处理 unsigned int(unsigned int 被视为普通 int)。我应该如何将 unsigned int 转换为 char 数组?

预先感谢您的帮助!

sus*_*tus 4

使用stringstream是一种常见的方法:

#include<sstream>
...

std::ostringstream oss;
unsigned int u = 598106;

oss << u;
printf("char array=%s\n", oss.str().c_str());
Run Code Online (Sandbox Code Playgroud)

自 C++11 以来更新std::to_string()方法 -:

 #include<string>
 ...
 unsigned int u = 0xffffffff;
 std::string s = std::to_string(u);
Run Code Online (Sandbox Code Playgroud)