在编译时我无法连接字符串。我对如何连接有点困惑。我试图进行类型转换然后连接,但这也会引发错误。
#include<iostream>
#include<cstring>
using namespace std;
string whatTime(int n)
{
int h=n/3600;
int m=n/60;
int s=n%60;
string s1=h + ":" + m + ":" + s;
}
int main()
{
string s=whatTime(63);
cout<<s;
return 0;
}
我收到错误
invalid operands of types 'const char*' and 'const char [2]' to binary 'operator+'
答案 0 :(得分:3)
您可以使用std::to_string
从std::string
值
int
string s1 = std::to_string(h) + ":" + std::to_string(m) + ":" + std::to_string(s);
请记住,你必须从你的职能中return
!
string whatTime(int n)
{
int h = n / 3600;
int m = n / 60;
int s = n % 60;
return to_string(h) + ":" + to_string(m) + ":" + to_string(s);
}
答案 1 :(得分:1)
我字符串不是智能enuf做dat。在添加到字符串之前必须将数字转换为字符串CoryKramer类型更快。我用流显示其他方式。必须包括sstream。
stringstream stream;
stream << h << ":" << m << ":" << s;
return stream.str();