当前位置:编程学习 > C/C++ >>

int转string的几种方法

int sprintf( char *buffer, const char *format [, argument] ... ); 
<stdio.h> 
例如: 
int ss; 
char temp[64]; 
string str; 
ss = 1000; 
sprintf(temp, "%d", ss); 
string s(temp); 
//调用string的方法  
cout<<s.c_str()<<endl;//1000  
cout<<s.size()<<endl;  //长度为4  
 
 
2.char *_itoa( int value, char *string, int radix ); 
<stdlib.h> 
例如: 
char buffer[20]; 
int  i = 3445;    
_itoa( i, buffer, 10 ); 
string s(buffer); 
 
 
 
 
3. stringstream( ) 
<sstream.h> 
例如: 
int hello=4; 
stringstream ss; 
ss<<hello; 
string   s=ss.str(); 
//调用string的方法  
cout<<s.c_str()<<endl; 
 
也可以自己写函数: 
string int2str(int num)  
{  
if(num == 0)  
return "0";  
string str = "";  
int num_ = num > 0 ? num : -1 * num;  
while(num_)  
{  
str = (char)(num_ % 10 + 48) + str;  
num_ /= 10;  
}  
if(num < 0)  
str = "-" + str;  
return str;  
}  

int sprintf( char *buffer, const char *format [, argument] ... );
<stdio.h>
例如:
int ss;
char temp[64];
string str;
ss = 1000;
sprintf(temp, "%d", ss);
string s(temp);
//调用string的方法
cout<<s.c_str()<<endl;//1000
cout<<s.size()<<endl;  //长度为4


2.char *_itoa( int value, char *string, int radix );
<stdlib.h>
例如:
char buffer[20];
int  i = 3445;  
_itoa( i, buffer, 10 );
string s(buffer);

 


3. stringstream( )
<sstream.h>
例如:
int hello=4;
stringstream ss;
ss<<hello;
string   s=ss.str();
//调用string的方法
cout<<s.c_str()<<endl;

也可以自己写函数:
string int2str(int num)
{
if(num == 0)
return "0";
string str = "";
int num_ = num > 0 ? num : -1 * num;
while(num_)
{
str = (char)(num_ % 10 + 48) + str;
num_ /= 10;
}
if(num < 0)
str = "-" + str;
return str;
}


 

补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,