在C++中将int转换为等价字符串的最简单方法是什么?我知道两种方法。有没有更简单的方法?

(1)

int a = 10;
char *intStr = itoa(a);
string str = string(intStr);

(2)

int a = 10;
stringstream ss;
ss << a;
string str = ss.str();

当前回答

首先包括:

#include <string>
#include <sstream>

第二步添加方法:

template <typename T>
string NumberToString(T pNumber)
{
 ostringstream oOStrStream;
 oOStrStream << pNumber;
 return oOStrStream.str();
}

使用如下方法:

NumberToString(69);

or

int x = 69;
string vStr = NumberToString(x) + " Hello word!."

其他回答

char * bufSecs = new char[32];
char * bufMs = new char[32];
sprintf(bufSecs, "%d", timeStart.elapsed()/1000);
sprintf(bufMs, "%d", timeStart.elapsed()%1000);
int i = 255;
std::string s = std::to_string(i);

在C++中,to_string()将通过将值表示为一系列字符来创建一个整数值的字符串对象。

使用计数器类型的算法转换为字符串。我从编程Commodore 64计算机中获得了这种技术。它也适用于游戏编程。

你取整数,取每一个10次幂的数字。所以假设整数是950。如果整数等于或大于100000,则减去100000并将字符串中的计数器增加为[“000000”];继续这样做,直到没有更多的数字在位置100000。再降低10次方。如果整数等于或大于10000,则减去10000,并在[“000000”]+1位置增加字符串中的计数器;一直这样做,直到10000位不再有数字。再降低10次方重复该模式

我知道950太小了,不能作为一个例子,但我希望你能理解。

首先包括:

#include <string>
#include <sstream>

第二步添加方法:

template <typename T>
string NumberToString(T pNumber)
{
 ostringstream oOStrStream;
 oOStrStream << pNumber;
 return oOStrStream.str();
}

使用如下方法:

NumberToString(69);

or

int x = 69;
string vStr = NumberToString(x) + " Hello word!."

我不知道,在纯C++中。但对你提到的内容稍作修改

string s = string(itoa(a));

应该有效,而且很短。