C ++字符串组合

时间:2014-02-03 13:17:29

标签: c++ string

我刚刚意识到自己的错误。我试图结合一个字符串和字符串。 谢谢你的帮助。

我刚刚开始使用c ++。我有关于字符串组合的问题。 我使用时没有问题:

cout <<"Your name is"<<name;

但是当我尝试用字符串做的时候:

string nametext;
nametext = "Your name is" << name;
cout << nametext;

我收到了错误。如何组合文本和字符串? 感谢

5 个答案:

答案 0 :(得分:6)

对于C ++中的字符串连接,你应该使用+ nametext = "Your name is" + name;

答案 1 :(得分:4)

首先,目前还不清楚名称的类型。如果它的类型为std :: string,则代替

string nametext;
nametext = "Your name is" << name;

你应该写

std::string nametext = "Your name is " + name;

其中operator +用于连接字符串。

如果name是一个字符数组,那么你可能不会将operator +用于两个字符数组(字符串文字也是一个字符数组),因为表达式中的字符数组被编译器隐式转换为指针。在这种情况下,你可以写

std::string nametext( "Your name is " );
nametext.append( name );

std::string nametext( "Your name is " );
nametext += name;

答案 2 :(得分:3)

我假设nametext是一个字符串。

String没有像输出流那样的流操作符(&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&gt

要设置字符串,您可以使用append成员函数或+ operator

答案 3 :(得分:1)

nametext = "Your name is" + name;

我认为应该这样做

答案 4 :(得分:0)

您可以像这样使用流字符串组合字符串:

#include <iostream>
#include <sstream>
using namespace std;
int main()
{
    string name = "Bill";
    stringstream ss;
    ss << "Your name is: " << name;
    string info = ss.str();
    cout << info << endl;
    return 0;
}