Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

std::endl in a string variable?

Tags:

c++

string

std

endl

Hi i want to save multiply lines in a string. I got a string logstring and i want to save multiplay error logs which i later can print in a txt file or as a console output. Is there a possibility to use endl to format a string variable? I searched the internet but i only find

cout << "" << endl;

Now my idea was:

std::string logstring;
logstring = logstring + "Error Message" + "Number" + "Time + Date";
logstring += endl;

Is something like this possible or is there no way to format string variables? Later i want to print them to a log.txt file? Is it possible to use a string like this?

std::ofstream logfile;
logfile.open(log.txt);
logfile << logstring;

The text file should look like this

Error Message 1 Date
Error Message 2 Date
Error Message 3 Date
...

Is it possibly to get it like this or do i have to print all lines seperatly?

like image 738
Fabian Patzlaff Avatar asked Oct 30 '22 06:10

Fabian Patzlaff


1 Answers

Don't forget std::endl adds a new line and flushes the buffer.

If you simply want new lines, \n, add them to your string, using + or stream them to a stream, using << '\n'.

For example,

std::string logstring;
logstring = logstring + "Error Message" + "Number" + "Time + Date";
logstring += '\n';
like image 84
doctorlove Avatar answered Nov 15 '22 05:11

doctorlove