Concatenating strings doesn't work as expected [closed]
Solution 1:
Your code, as written, works. You’re probably trying to achieve something unrelated, but similar:
std::string c = "hello" + "world";
This doesn’t work because for C++ this seems like you’re trying to add two char
pointers. Instead, you need to convert at least one of the char*
literals to a std::string
. Either you can do what you’ve already posted in the question (as I said, this code will work) or you do the following:
std::string c = std::string("hello") + "world";
Solution 2:
std::string a = "Hello ";
a += "World";
Solution 3:
I would do this:
std::string a("Hello ");
std::string b("World");
std::string c = a + b;
Which compiles in VS2008.
Solution 4:
std::string a = "Hello ";
std::string b = "World ";
std::string c = a;
c.append(b);