2011-09-20 57 views

回答

0
#include <string> 
#include <sstream> 

std::ostringstream ss; 
long i = 10; 
ss << i; 
std::string str = ss.str(); 
9

您可以使用一个字符串流:

#include <sstream> 
#include <string> 

long x; 
// ... 
std::ostringstream ss; 
ss << x; 

std::string result = ss.str(); 

或者您可以使用Boost的lexical_cast

#include <boost/lexical_cast.hpp> 
std::string s = boost::lexical_cast<std::string>(x); 

我认为这是一个common opinion该语言的这一方面不尽可能优雅。

在新的C++ 11,事情更容易一点,你可以使用std::to_string()功能:

#include <string> 
std::string s = std::to_string(x); 
+0

你的意思是'ss << x'? –

+0

为完整性添加了另一个标准解决方案:)另外,我注意到内联编辑静静地跨越其他人的更改。 –

+0

@RMF:感谢编辑,我不知道!也许无用的日子已经结束了! –

0

您可以使用一个字符串流。

std::ostringstream ss; 
ss << aLongNumber; 
ss.str() 

您可以使用运营商<<iostreamcoutcin。并且您使用str()方法获取字符串。