c++ - std::endl 在字符串变量中?

标签 c++ string std endl

您好,我想在一个字符串中保存多个行。我得到了一个字符串日志字符串,我想保存多人游戏错误日志,稍后我可以将其打印在 txt 文件中或作为控制台输出。是否有可能使用 endl 来格式化字符串变量?我搜索了互联网,但我只找到了

cout << "" << endl;

现在我的想法是:

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

这样的事情是可能的还是没有办法格式化字符串变量?稍后我想将它们打印到 log.txt 文件中?是否可以使用这样的字符串?

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

文本文件应该是这样的

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

是否可能像这样得到它,还是我必须单独打印所有行?

最佳答案

别忘了 std::endl添加新行刷新缓冲区。

如果你只是想要换行,\n ,将它们添加到您的字符串中,使用 +或使用 << '\n' 将它们流式传输到流中.

例如,

std::string logstring;
logstring = logstring + "Error Message" + "Number" + "Time + Date";
logstring += '\n';

关于c++ - std::endl 在字符串变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44628741/

相关文章:

java - 如何在 java 中获取第 n 个 "-"(破折号)之后的字符串?

linux - 以相反顺序打印由点分隔的字符串

c++ - 删除指向抽象类的指针 vector

c++ - stoi和std::to_string on mingw 4.7.1 [duplicate]

C++ 奇怪的 std::bad_alloc 异常

c++ - 在 C++ 中的 vector 中的结构中搜索枚举

c++ - 如何使用 gsl 在 cholesky 中打印下矩阵?

string - 快速将字符串拆分为多行

c++ - 模板显式实例化是否适用于前向声明类型?

c++ - Boost.Asio:不能使用 std::bind() 来指定回调