将字符串或int放回cin的前面

时间:2010-01-19 19:33:14

标签: c++ input

我遇到一个问题,我在c ++程序中错误的时间输入了一个int作为输入,所以我需要稍后“把它”放回到cin上。然而,我能找到的最接近的事情是istreams的pushback函数。遗憾的是,这仅适用于角色,使用多个角色似乎将它们分开。有没有一种方法可以将一条输入放回到cin的前面?感谢。

修改

原因是我使用的是使用>>的图表类。输入操作符,但第一个输入必须是边数。我希望单独离开图表类,然后自己给出cin数量的边缘。所以基本上唯一没有顺序的输入就是第一个从cin发送的int。

3 个答案:

答案 0 :(得分:1)

如果您使用的是可搜索输入(例如文件),则可以使用seekg。不幸的是,这对于不可搜索的流(例如管道或人工输入)不起作用。

答案 1 :(得分:0)

为什么不直接'保持'int,直到你完成下一次读取cin然后在读取字符串的前面添加它而不是试图强制它回到缓冲区?只是一个想法...

答案 2 :(得分:0)

除了评论之外,我还要补充一点,您可以为按照您喜欢的顺序接受输入的类创建一个包装器或帮助器。