Just for i0'

Love i0

从int 到string的几种方法

1.   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;


如果库中其他的函数可以作到,不妨共享
      

  
     

posted on 2006-03-17 19:38 for_I0 阅读(50398) 评论(17)  编辑 收藏 引用

Feedback

# re: 从int 到string的几种方法 2006-03-17 23:04 沐枫

一般倾向于itoa,效率不错。
而且一般不爱用string而是用字符数组来存放,因为整数转换的结果不超过10个字符,不管从哪方面来说,都合算。  回复  更多评论   

# re: 从int 到string的几种方法 2006-03-18 09:18 Willson

传说 boost 可以 ....  回复  更多评论   

# re: 从int 到string的几种方法 2006-03-18 16:03 for_Linda

如何传说 的,具体讲点  回复  更多评论   

# re: 从int 到string的几种方法 2006-06-06 22:50 五点半

boost库中的lexical_cast.hpp可以转换.很简单:
小溪旁的高山杜鹃
std::string ints = "1234";
int i = boost::lexical_cast<int>(ints);
  回复  更多评论   

# re: 从int 到string的几种方法 2006-10-24 13:19 李珍宝

喜欢boost::lexical_cast  回复  更多评论   

# re: 从int 到string的几种方法 2006-12-10 12:29 dqchen

可以自己写个函数

string int2str(int num)
{
if(num == 0)
return "0";

string str = "";

while(num)
{
str = (char)(num % 10 + 48) + str;
num /= 10;
}

return str;
}

string to int 类似  回复  更多评论   

# re: 从int 到string的几种方法 2006-12-10 12:34 dqchen

可以自己写个函数

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;
}

string to int 类似  回复  更多评论   

# re: 从int 到string的几种方法 2006-12-10 12:37 dqchen

可以自己写个函数

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;
}

string to int 类似  回复  更多评论   

# re: 从int 到string的几种方法 2008-03-10 17:47 test

ya

  回复  更多评论   

# re: 从int 到string的几种方法 2008-09-23 14:43 mingxin

string int2str(int num)
{
string str = "";
if(num == 0)
return "0";

if(num < 0)
str = "-" ;
num = abs(num);
while(num )
{
str = (char)(num % 10 + 48) + str ;
num /= 10;
}
return str;
}   回复  更多评论   

# re: 从int 到string的几种方法 2009-05-03 12:50 创意产品

不错,学习了  回复  更多评论   

# re: 从int 到string的几种方法 2009-07-24 14:15 周南梦里人

楼上的强,可以返回局部变量  回复  更多评论   

# re: 从int 到string的几种方法 2009-11-30 06:16 纳兰伴月

@mingxin
楼上的强,可以返回局部变量  回复  更多评论   

# re: 从int 到string的几种方法 2011-03-13 21:16 no_sure

学学分享  回复  更多评论   

# re: 从int 到string的几种方法 2011-03-13 21:17 no_sure

谢谢分享  回复  更多评论   

# re: 从int 到string的几种方法 2011-12-29 11:20 Kouga

@纳兰伴月
人家返回局部变量的拷贝有问题喵?  回复  更多评论   

# re: 从int 到string的几种方法 2014-11-25 15:55 张瑞昌

to_string() C++11  回复  更多评论   



只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理