编程论坛
注册
登录
编程论坛
→
C++教室
求教如何把一个数字转换为字符串输出
zju2004
发布于 2010-07-15 18:56, 5137 次点击
如何把一个数字转换为字符串输出
求指导下,谢谢!
7 回复
#2
最近不在
2010-07-15 19:11
程序代码:
char
* Itoa(
int
n,
char
*p,
int
m)
{
int
a[
56
] = {
0
};
int
i =
0
;
int
j =
0
;
while
(n >=
1
)
{
int
nI = n/m;
a[i++] = n - nI*m;
n = nI;
}
while
(i--)
{
p[j++] = a[i] +
48
;
}
p[j] =
'
\0
'
;
return
p;
}
#3
zju2004
2010-07-16 09:05
非常感谢
#4
zju2004
2010-07-16 10:55
以下是引用
zju2004
在2010-7-15 18:56:54的发言:
如何把一个数字转换为字符串输出
求指导下,谢谢!
按照这个方法实现,提示内存错误不知道怎么回事
#5
ToBeOOP
2010-07-16 13:06
感觉代码还是带上注释好些
#6
flyingcat
2010-07-18 00:44
使用itoa函数
它包含在stdlib.h中
itoa(需要转化的数字,转换后保存的数组,转换的进制)
比如把12345转成"12345"
int num=12345;
char number[10];
itoa(num,number,10);
puts(number);
我记得转换的进制范围是2~16,传入需要转化的数字是个十进制数
#7
txh2002
2010-08-11 11:41
我这样调用怎么会出错?
void main()
{
char a;
int i=0;
Itoa(90,&a,10);
while (*(&a+i)!=0)
{
cout<<*(&a+i);
i++;
}
cout<<endl;
}
#8
flyingcat
2010-08-13 16:34
以下是引用
txh2002
在2010-8-11 11:41:04的发言:
我这样调用怎么会出错?
void main()
{
char a;
int i=0;
Itoa(90,&a,10);
while (*(&a+i)!=0)
{
cout<<*(&a+i);
i++;
}
cout<
}
a你是一个单字符的,Itoa中第二个参数需要是字符串的指针
char a[100];
Itoa(90,a,10);
这句就是把10进制的90转成10进制存入a字符串
那么cout << a; 就是90
1