在两个流上拆分ifstream

split ifstream on two ofstreams

本文关键字:拆分 ifstream 两个      更新时间:2023-10-16

有一个文件(ifstream),我必须将其拆分为两个输出文件(流),使用一个参数作为每个文件的字符数:

例如num_of_char=3

在:abcdefghijk

out1:abcghi

out2:defjk

做这件事最有效的方法是什么?(我想我必须使用(ifstream).width(num_of_char);)有这样的东西吗:out1<lt;在里面??

这是我当前的解决方案,顺便问一下,是否有一元布尔值翻转操作来避免循环中的第三行?

...
std::string s;
bool flag = true;
while (!is.eof()) {
    is >> std::setw(num_of_char ) >> s;
    (flag ? out1 : out2) << s;
    flag = !flag;
}
....