如何连接字符串和整数

时间:2015-06-04 18:27:21

标签: c++ string concatenation

在编译时我无法连接字符串。我对如何连接有点困惑。我试图进行类型转换然后连接,但这也会引发错误。

#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+'      

2 个答案:

答案 0 :(得分:3)

您可以使用std::to_stringstd::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();