关闭

C++中int到string的转换

标签: stringc++bufferclassfloat
276人阅读 评论(0) 收藏 举报
1、

int sprintf( char *buffer, const char *format [, argument] ... );

      
 <stdio.h>


例如:


Cpp代码
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   


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>



例如:


Cpp代码
char buffer[20];    
int   i = 3445;       
_itoa( i, buffer, 10 );    
string s(buffer);   



3. stringstream( )
    <sstream.h>



例如:


Cpp代码
int hello=4;    
stringstream ss;    
ss<<hello;    
string    s=ss.str();    
//调用string的方法    
cout<<s.c_str()<<endl    






================================================================================
string与int、double之间的相互转化



使用stringstream的例子函数。
// changstring.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include <iostream>
#include <sstream>
#include <string>
#include <cstdlib>
using namespace std;




template <class T>
void convertFromString(T &value, const std::string &s)
{
   std::stringstream ss(s);
   ss >> value;
}


template <class T>
std::string ConvertToString(T value)
{
    std::stringstream ss;
    ss<<value;
    return ss.str();
}


int _tmain(int argc, _TCHAR* argv[])
{
   std::string s("123");


  // Convert std::string to int
  int i = 0;
  convertFromString(i,s);
  std::cout << i << std::endl;
  float f=12.5;
  string str=ConvertToString(f);
  cout<<str<<endl;
  cin>>i;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21804次
    • 积分:346
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:17篇
    • 译文:0篇
    • 评论:0条
    博客链接