C++ concatenate strings with stream or sprint

There are many different ways to achieve this, but in my opinion the best method for something this commonly used is a solution that does not require additional external dependencies.. However, see reference at the bottom of this post for some other good solutions which are optimized for speed and brevity.

//declare our variables to concatenate
std::string name="somename";
int age = 100;
std::string result;

//if it's for basic console output
std::cout << "name:" << name << " age:" << age;

//using stringstream
std::stringstream ss;
ss << "name:" << name << " age:" << age;
result = ss.str();
std::cout << result;

//using ostringstream
std::ostringstream os;
os << "name:" << name << " age:" << age;
std::cout << os.str();

//using strintf
char numstr[21]; // enough to hold all numbers up to 64-bits
sprintf(numstr, "%d", age); //convert age to string
result = name + numstr; //concatenate

Stackoverflow (forum), http://stackoverflow.com/questions/191757/c-concatenate-string-and-int

About Ronnie Diaz

Ronnie Diaz is an enterprise software engineer responsible for front-end and back-end development for companies in many industries. Heavily involved in cloud development, online retail, e-commerce and electronic ordering, fulfillment and customer relational systems.

Posted on June 3, 2011, in Programming & Development and tagged , , , , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: