C++ 是否可以将 fstream 对象设置为在每次调用 << 时自动写入换行符?

标签 c++ newline fstream

我创建了一个 fstream 对象来将信息写入文件。 我将字符串写入新文件,如

fStreamObject << "New message.\n";

因为我希望每个 << 都在下一行打印一个字符串。

我希望能够设置一个属性并像这样调用

fstreamObject << "New message.";

这会将字符串写入下一行。

是否有允许这样做的 fstream 对象的标志/设置?

我见过不同的文件模式(即 ofstream::in、ofstream::out 等),但我找不到自动写入新行的模式。另外,我不想编写自己的解决方案。我希望能够使用内置功能。<​​/p>

最佳答案

不,标准 流中没有那种易于配置的功能。

您可能必须对流类型进行子类化,然后摆弄 operator<<让它按照你想要的方式工作,或者使用一些描述的辅助函数来完成它:

fstreamObject << nl("New message.");

(但这并不比只在里面放一个 \n 容易(无论如何对于一个字符串)。

关于C++ 是否可以将 fstream 对象设置为在每次调用 << 时自动写入换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28356708/

相关文章:

c++ - 如何在 C++ 中重载非交换运算符的两种可能性?

c# - 正则表达式替换每个换行符

C++ Primer 第 5 版 第 17.5.3 章 fstream 不换行

python - 在 Python 中匹配两条特定行之间的行的正则表达式

c++ - 在没有序列化库的情况下,在 c++ 中从结构读取数据和从文件写入数据的最简单方法是什么?

c++ - FStream 类并使用字符串作为参数

c++ - 如何调用所有可变继承类的函数?

c++ - Visual Studio 2008 中的 cl.exe 包装器

c++ - 我的 C++ 程序无法打开命名管道

linux - 如何在 Linux 上使用 grep 搜索包含 DOS 行尾 (CRLF) 的文件?