C++中itoa怎么用?

举个详细点的例子... 举个详细点的例子 展开
 我来答
匿名用户
推荐于2018-02-28
展开全部
itoa()()就是把一个整数转换成一个字符串,该函数接受3个参数。
第一个是整数,第2个是字符串,第三个是要储存的进制。
比如
int num=123;
char str[256];
itoa(num,str,10);
这样就是把123以十进制转换成字符串,存入str中.
如果再加一句
printf("%s",str);
这样就输出123了。
注意:该函数需要头文件stdlib.h
匿名用户
2013-08-04
展开全部
itoa是把整形数转换成字符型,也有atoi的,这是把字符型转换成整型,不过要注意几个问题 TCHAR str[100]; //假设str为“1000” int num = atoi(str); TCHAR str1[100]; //假设str1为“2”
int d = atoi(str); itoa(d_num, r_num, d); //这个itoa可以用来进制转换,很方便!!!把d_num转换在d进制的r_num
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-04
展开全部
作用:Convert an integer to astring RequiredHeader:<stdlib.h>Example /* ITOA.C: This program convertsintegers of various * sizes to strings in various radixes. */ #include <stdlib.h>#include <stdio.h> void main( void ){ char buffer[20]; int i = 3445; long l = -344115L; unsigned long ul = 1234567890UL; _itoa( i, buffer, 10 ); printf( "String of integer %d(radix 10): %s\n", i, buffer ); _itoa( i, buffer, 16 ); printf( "String of integer %d(radix 16): 0x%s\n", i, buffer ); _itoa( i, buffer, 2 ); printf( "String of integer %d(radix 2): %s\n", i, buffer ); _ltoa( l, buffer, 16 ); printf( "String of long int %ld(radix 16): 0x%s\n", l, buffer ); _ultoa( ul, buffer, 16 ); printf( "String of unsigned long%lu (radix 16): 0x%s\n", ul, buffer );}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
du瓶邪
推荐于2016-11-23 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2946万
展开全部
原型如下:
errno_t _itoa_s(
int value,
char *buffer,
size_t sizeInCharacters, //存放结果的字符数组长度
int radix
);

使用如下
char buffer[2]="";
for (int i=0;i<10;i++)
{
_itoa_s(i,buffer,2,10);//10表示10进制2表示字符长度buffer表示存放结果
std::string file=buffer;
imageSquence->addImage(osgDB::readImageFile("D:\\Projects\\OSG\\imagesquence\\Debug\\"+file+".jpg"));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuyana
2020-05-21
知道答主
回答量:2
采纳率:0%
帮助的人:1215
展开全部
部分代码:
#include<iostream>
#include<stdlib.h>
#include<string.h>
char* itoa(int num,char*str,int radix);//整数转化成字符串,第一个参数是输入的整数,第二个是字符型数组接受字符,第三个是要转化的进制
int main(void){
//test itoa();
cout<<"*************测试itoa()函数************"<<endl;
char str[32];
unsigned int a=123;
unsigned int b=2147483647;//最大整数为2147483647
itoa(a,str,2);
cout<<str<<endl;
itoa(b,str,2);
cout<<str<<endl;
itoa(a,str,8);
cout<<str<<endl;
itoa(a,str,16);
cout<<str<<endl;
itoa(a,str,10);
cout<<str<<endl;
return 0;
}

char* itoa(int num,char* str,int radix)
{/*索引表*/
char index[]="0123456789ABCDEF";
unsigned unum;/*中间变量*/
int i=0,j,k;
/*确定unum的值*/
if(radix==10&&num<0)/*十进制负数*/
{
unum=(unsigned)-num;
str[i++]='-';
}
else unum=(unsigned)num;/*其他情况*/
/*转换*/
do{
str[i++]=index[unum%(unsigned)radix];
unum/=radix;
}while(unum);
str[i]='\0';
/*逆序*/
if(str[0]=='-')
k=1;/*十进制负数*/
else
k=0;
for(j=k;j<=(i-1)/2;j++)
{ char temp;
temp=str[j];
str[j]=str[i-1+k-j];
str[i-1+k-j]=temp;
}
return str;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式