在Streams中内联忽略

时间:2015-04-02 13:16:26

标签: c++ stream inline ignore istream

有没有办法忽略C ++内联中的字符?

例如在this answer我正在阅读:

istringstream foo("2000-13-30");

foo >> year;
foo.ignore();
foo >> month;
foo.ignore();
foo >> day;

但我希望能够全部内联:

foo >> year >> ignore() >> month >> ignore() >> day;

我认为这在C ++中是可行的,但它绝对不能为我编译。也许我还记得另一种语言?

1 个答案:

答案 0 :(得分:3)

foo.ignore()是一个成员函数,因此无法用作操纵器。它也没有正确的返回类型和参数声明可用作一个。你可以轻松制作自己的:

std::istream& skip(std::istream& is) {
    return (is >> std::ws).ignore();
}

foo >> year >> skip >> month >> skip  >> day;