Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best way to format string in C++ [duplicate]

Tags:

c++

string

c++17

In javascript I can format a string using template string

const cnt = 12;
console.log(`Total count: ${cnt}`);

if I work with python I can use the f-string:

age = 4 * 10
f'My age is {age}'

But, if I working with C++(17) what is the best solution to do this (if it is possible)?

like image 290
th3g3ntl3man Avatar asked Mar 02 '23 00:03

th3g3ntl3man


2 Answers

I think the simpler way is std::to_string:

std::string str = "My age is ";
str += std::to_string(age);

std::ostringstream also works nicely and can be useful as well:

With this at the top of your source file

#include <sstream>

Then in code, you can do this:

std::ostringstream ss;
ss << "My age is " << age;
std::string str = ss.str();
like image 56
selbie Avatar answered Mar 04 '23 12:03

selbie


you can use sprintf

sprintf(dest_string, "My age is %d", age).

but using sprintf will rase an error, so best use snprintf:

snprintf(dest_string, size , "My age is %d", age);

where size is the is the maximum number of bytes.

like image 20
David Frucht Avatar answered Mar 04 '23 12:03

David Frucht