我遇到一个问题,我在c ++程序中错误的时间输入了一个int作为输入,所以我需要稍后“把它”放回到cin上。然而,我能找到的最接近的事情是istreams的pushback函数。遗憾的是,这仅适用于角色,使用多个角色似乎将它们分开。有没有一种方法可以将一条输入放回到cin的前面?感谢。
修改
原因是我使用的是使用>>的图表类。输入操作符,但第一个输入必须是边数。我希望单独离开图表类,然后自己给出cin数量的边缘。所以基本上唯一没有顺序的输入就是第一个从cin发送的int。
答案 0 :(得分:1)
如果您使用的是可搜索输入(例如文件),则可以使用seekg。不幸的是,这对于不可搜索的流(例如管道或人工输入)不起作用。
答案 1 :(得分:0)
为什么不直接'保持'int,直到你完成下一次读取cin然后在读取字符串的前面添加它而不是试图强制它回到缓冲区?只是一个想法...
答案 2 :(得分:0)
除了评论之外,我还要补充一点,您可以为按照您喜欢的顺序接受输入的类创建一个包装器或帮助器。