5个回答
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
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 );}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
原型如下:
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"));
}
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"));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
部分代码:
#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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询