Unsigned int转换为字符数组.替代itoa
Unsigned int into a char array. Alternative to itoa?
我有一个关于无符号整型的问题。我想把unsigned int转换成char数组。为此,我使用itoa。问题是itoa可以正常处理int型,但不能处理unsigned int型(unsigned int被当作普通int型处理)。如何将unsigned int转换为char数组?
提前感谢您的帮助!
使用stringstream是一种常见的方法:
#include<sstream>
...
std::ostringstream oss;
unsigned int u = 598106;
oss << u;
printf("char array=%sn", oss.str().c_str());
更新从c++ 11开始有std::to_string()方法-:
#include<string>
...
unsigned int u = 0xffffffff;
std::string s = std::to_string(u);
您可以简单地创建自己的函数,如下所示:
在Ideone上使用OWN函数的代码链接
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
unsigned int num,l,i;
cin>>num;
l = log10(num) + 1; // Length of number like if num=123456 then l=6.
char* ans = new char[l+1];
i = l-1;
while(num>0 && i>=0)
{
ans[i--]=(char)(num%10+48);
num/=10;
}
ans[l]=' ';
cout<<ans<<endl;
delete ans;
return 0;
}
您也可以使用sprintf
函数(C中的标准)
sprintf(str, "%d", a); //a is your number ,str will contain your number as string
使用Sprintf在Ideone上的代码链接
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 字符串的变体数组包含替代空间
- 有趣的用例,普通数组无法替代std ::数组
- 当大小固定而不是constexpr时,C 的sTD ::数组的替代方案
- 替代字符数组作为模板参数的输入
- Unsigned int转换为字符数组.替代itoa
- 字符数组的替代方法
- C++ 数组错误 C3646:'jarArray':未知替代说明符
- 删除字符数组.替代方式
- 多个链接数组的替代方案
- 动态内存分配:当最右边的维度是可变的时,二维数组的替代方案是什么