在两个流上拆分ifstream

时间:2015-03-25 16:55:06

标签: c++ stl iostream

有一个文件(ifstream), 我必须在两个输出文件(ofstreams)上将其拆分为一个参数,作为每个文件的char数:

e.g。 num_of_char = 3

in:abcdefghijk

OUT1:abcghi

OUT2:defjk

最有效的方法是什么? (我想我必须使用(ifstream).width(num_of_char);) 是这样的: out1<<在; ??

1 个答案:

答案 0 :(得分:0)

这是我目前的解决方案, 顺便说一下 - 是否有一元bool值翻转操作以避免循环中的第三行?

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