在字符串C++中转换一个长?

在字符串C++中转换一个长?,c++,string,C++,String,可能重复: 我已经习惯了Java,在那里我可以使用.toString来处理几乎任何事情,但我正在尝试C语言中的一些问题++ 我不知道如何将长值转换为字符串。您可以使用字符串流: #include <sstream> #include <string> long x; // ... std::ostringstream ss; ss << x; std::string result = ss.str(); 我认为语言的这一方面并不像可能的那样优雅是一个问

可能重复:

我已经习惯了Java,在那里我可以使用.toString来处理几乎任何事情,但我正在尝试C语言中的一些问题++


我不知道如何将长值转换为字符串。

您可以使用字符串流:

#include <sstream>
#include <string>

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

std::string result = ss.str();
我认为语言的这一方面并不像可能的那样优雅是一个问题

在新的C++11中,事情会简单一些,您可以使用std::to_string函数:

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

您可以使用字符串流:

#include <sstream>
#include <string>

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

std::string result = ss.str();
我认为语言的这一方面并不像可能的那样优雅是一个问题

在新的C++11中,事情会简单一些,您可以使用std::to_string函数:

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

您可以使用stringstream

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

使用运算符可以使用stringstream

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

您使用operator添加了另一个标准的完整性解决方案:另外,我注意到内联编辑会悄悄地超越其他人的更改。@RMF:谢谢您的编辑,我不知道!也许不雅的日子已经过去了@赛斯:是的,这在以前版本的标准中是不存在的。此外,像stoi和strtoull这样的反向操作在C++11中对std::string有重载。为完整性添加了另一个标准解决方案:另外,我注意到内联编辑会以静默方式逐步超越其他人的更改。@RMF:谢谢您的编辑,我不知道!也许不雅的日子已经过去了@赛斯:是的,这在以前版本的标准中是不存在的。同样,在C++11中,像stoi和strtoull这样的逆操作也有std::string的重载。