我刚刚意识到自己的错误。我试图结合一个字符串和字符串。 谢谢你的帮助。
我刚刚开始使用c ++。我有关于字符串组合的问题。 我使用时没有问题:
cout <<"Your name is"<<name;
但是当我尝试用字符串做的时候:
string nametext;
nametext = "Your name is" << name;
cout << nametext;
我收到了错误。如何组合文本和字符串? 感谢
答案 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;
}