在C++中转换int为等效的最简单方法是什么?string我知道两种方法.有没有更简单的方法?
(1)
int a = 10;
char *intStr = itoa(a);
string str = string(intStr);
Run Code Online (Sandbox Code Playgroud)
(2)
int a = 10;
stringstream ss;
ss << a;
string str = ss.str();
Run Code Online (Sandbox Code Playgroud) 在尝试将整数值插入到字符串中时,我认为当我找到std :: to_string时,我的祈祷得到了回答,但出于某种原因,当我实际尝试使用它时,Visual Studio会抱怨模棱两可.这是我的功能的当前化身:
string get_time_remaining (int elapsed)
{
string remaining;
string temp_string;
int time_remaining = TimeLimit - elapsed;
int temp_int;
temp_int = int(time_remaining / 3600);
if(temp_int == 0)
remaining = "00 : ";
else
{
temp_string = std::to_string(temp_int); // Here!
remaining = temp_string + " : ";
}
temp_int = time_remaining % 60 + 1;
if(temp_int < 10)
remaining = remaining + "0";
temp_string = std::to_string(temp_int);
remaining = remaining + temp_string;
return remaining;
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试在对to_string的调用中强制转换temp_int,正如你所看到的,我甚至尝试过对应该是整数除法的结果,但无论我做什么,VS都会向我吐出:
d:\my programs\powerplay\powerplay\powerplay.cpp(1285): error C2668: …Run Code Online (Sandbox Code Playgroud)